/*
* File: one.cpp
* Author: Administrator
*
* Created on 2009年3月5日, 下午6:08
*/
#include <windows.h>
#include <iostream.h>
BOOL MySystemShutdown( LPTSTR lpMsg )
{
HANDLE hToken; // handle to process token
HANDLE hLogonToken;
HANDLE hAdminToken;
TOKEN_PRIVILEGES tkp; // pointer to token structure
BOOL fResult; // system shutdown flag
// Get the current process token handle so we can get shutdown
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hLogonToken); // AfxMessageBox("OpenProcessToken failed.");
// Get the LUID for shutdown privilege.
LookupPrivilegeValue(NULL, SE_TCB_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Get shutdown privilege for this process.
AdjustTokenPrivileges(hLogonToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
// privilege.
BOOL b1=LogonUser( "zhou", "192.168.2.18", "670025",
LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT,
&hLogonToken );
int t=GetLastError();
cout<< t;
if(b1) cout<<"正确"; else cout<<"错误";
// return FALSE;
DuplicateTokenEx( hLogonToken, TOKEN_ALL_ACCESS, NULL,
SecurityIdentification, TokenPrimary, &hAdminToken );
ImpersonateLoggedOnUser( hAdminToken );
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
// AfxMessageBox("OpenProcessToken failed.");
// Get the LUID for shutdown privilege.
LookupPrivilegeValue(NULL, SE_REMOTE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
// Get shutdown privilege for this process.
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
// Cannot test the return value of AdjustTokenPrivileges.
// Display the shutdown dialog box and start the time-out countdown.
fResult = InitiateSystemShutdown("192.168.2.18", // shut down local computer
"Click on the main window and press the Escape key to cancel shutdown.", // message to user
1, // time-out period
FALSE, // ask user to close apps //注意这一段API调用!
FALSE); // reboot after shutdown
if (!fResult)
{
// AfxMessageBox("InitiateSystemShutdown failed.");
}
// Disable shutdown privilege.
tkp.Privileges[0].Attributes = 0;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
return TRUE;
}
BOOL getBooleans (){
HANDLE hToken; // handle to process token
TOKEN_PRIVILEGES tkp;
BOOL fResult; // error code return
OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
&hToken);
fResult = GetLastError();
cout<<"开::"<<fResult<<"::";
LookupPrivilegeValue(NULL,SE_TCB_NAME, &tkp.Privileges[0].Luid);
fResult = GetLastError();
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
fResult = GetLastError();
fResult = LogonUser(
"Administrator",
"\\192.168.2.25",
"*",
/*"192.168.2.15",
"990714",*/
LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT,
&hToken);
fResult = GetLastError();
cout<<fResult;
return TRUE;
}
/*
*
*/
int main(int argc, char** argv) {
BOOL b=getBooleans();//MySystemShutdown("ddd");
if(b) cout<<"right";
else cout<<"error";
return (EXIT_SUCCESS);
}
分享到:
相关推荐
(留言和发表文章均可累积积分,积分用途待定) 2.更新后台文章管理操作,简化管理步骤 3.判断用户是否登陆,在留言和评论中显示用户名或匿名用户; 4.重写后台session和Cookies,独立用户session和Cookies 5....
在文章的例题中,通过实例演示了待定系数法的运用过程,提供了求解方程组特解的直观示例。 文章中提到的关键词“常系数线性非齐次方程组”指的是系数矩阵不随自变量变化的线性方程组,且方程组中至少有一个非齐次项...
标题、描述和标签为空,且压缩包子文件的文件名称列表也为“待定”。这些信息是生成具体IT知识内容的关键,例如,如果文件名包含"Python教程",我可以讨论Python编程语言的基础知识、语法特性、常用库和框架等。若能...
本篇文章探讨了弹性力学领域内的一个关键数学工具——广义变分原理的通式及其应用方法,即“待定系数法”。通过这种方法,作者成功地推导出了适用于弹性力学三类变量的一般形式的能量泛函表达式。这项成果对于理解和...
当有人创建状态为“待定”的文章时,所有“发布者”用户都会收到一封电子邮件。 这封电子邮件包含文章的非常基本的信息,以及进一步查看和管理文章的链接。 如果作者碰巧是出版商,他不会收到电子邮件。 当文章从...
文章接着具体讲述了弹簧振子实验,通过改变砝码质量和弹簧类型,观察到振动周期的变化规律,并提出了弹簧振子振动周期与振子质量及弹簧倔强系数之间的函数关系模型,即 T=AM^(1/n),其中 A、n 为待定系数。...
博主 这是一个基本的 Blogger 克隆,用于创建带有评论的博客。 花费时间:16小时 特征必需的[完成] 用户可以通过... 用户可以包含要在其博客文章中显示的图像[待定] 用户可以指定未来的发布日期和时间以使博客文章可
增加微博功能,发文章的时候选择“Aside短文章”形式,即为微博格式,在主题设置中可以指定做为微博的栏目。...下一个版本的首个功能将会增加多颜色风格选择,其他待定。。 本版网站:http://www.wuhzy.ocm
通过调整待定参数A,可以使得补偿电流与负载电流的均方根最小化,从而达到准确检测畸变电流的目的。 文章最后通过MATLAB仿真,验证了该算法的检测精度。仿真结果显示,该方法具有较高的谐波检测精度。文章中的...
在数据处理的数学模型方面,文章基于最小二乘法原理,提出了一个包含待定系数的方程,并将其转化为矩阵形式进行运算。这种方式可以有效处理多元变量的最小二乘问题,得到一个能够最佳逼近观察数据的函数模型。 6. ...
文章中的例子分别展示了如何运用这三种形式来解决问题: - 示例1采用一般式,通过三个点的坐标建立三元一次方程组求解。 - 示例2则使用了顶点式,由于已知顶点坐标和函数值的最值,可以简化求解过程。 - 示例3使用了...
我确实找到了一篇文章,说我应该将Socket.io放到一个完全有意义的角度服务中。 我已经为此工作了一段时间,所以我已经注册接受帮助。 +我解决了这个问题。 我的任务管理器无法正常构建,我花了大约一个半小时试图...
文章提出了一种新的方法——最小二乘复频域法(LSCF),该方法基于右矩阵分式模型,利用z域基函数,通过最小化误差代价函数来求解待定参数。LSCF方法的一个显著优点是能够避免数值求解过程中的病态问题,提高计算...
文章还提出了先验方差-协方差的估计方法,即预先选择一个符合协方差函数条件且形式简单的函数作为协方差函数,通过观测值进行拟合以求得待定参数,然后根据拟合得到的协方差函数确定信号的方差-协方差阵。...
linux,apk,ios技术选型Java8的sparkJava,sql2o 就这样进度需求分析和任务同步基础框架建造21/3/4用户及登录21/3/8文章分类/标签待定笔记保存待定笔记同步待定搜索待定腾讯云函数+云api支持待定特征等你来提问题
文章还对岭估计迭代法的数学模型进行了详细解释,即经典的平差模型为L+Δ=AX,其中A为系数矩阵,Δ为观测向量的噪声,L为观测值,X为待定参数。最小二乘估计(LS)是最常用的估值方法,但在系数矩阵存在严重复共线性...
【文章内容概述】 本文主要探讨了在控制系统中存在未知输入和测量干扰情况下的全维和降维观测器设计。未知输入观测器(UIO)是一种用于估计系统状态和未知输入的工具,在各种工程应用中具有重要价值,如机械工具、...
该过程涉及到求解一组待定系数(a, b, c),使得所有点到基准平面的距离差最小。这转化为一个优化问题,可以使用【fmincon函数】来解决,寻找使目标函数最小的系数值。 为了进一步提升优化效果,文章引入了【自适应...
在已知像点坐标和标靶圆心坐标的情况下,可以利用标靶上各点的几何关系来求解待定系数,从而得到标靶圆心的坐标。 3. 在已知标靶圆心在两个相机坐标系中的坐标的基础上,求出两相机坐标系之间的坐标变换矩阵。通过...