浏览 3010 次
锁定老帖子 主题:关机重启程序小例子
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-22
最后修改:2010-10-22
搜了个关机小例子,拿来调试一下。
HANDLE hToken; TOKEN_PRIVILEGES tkp; if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)) { AfxMessageBox("无法打开存取命令"); } LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); tkp.PrivilegeCount=1; tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0); if(GetLastError()!=ERROR_SUCCESS) { AfxMessageBox("无法关机"); } //以上是取得当前用户的Token后,利用这个Token来取得权限才可以执行关机操作 //关机函数 if(!ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0)) { AfxMessageBox("无法关机"); }
运行即关机。。
重启程序同理,只是关机函数参数不同
if(!ExitWindowsEx(EWX_REBOOT,0)) { AfxMessageBox("无法重启"); }
运行即重启 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-11-05
看起来似乎仿佛好像不是linux上能运行的
|
|
返回顶楼 | |
发表时间:2010-11-05
freish 写道 看起来似乎仿佛好像不是linux上能运行的
恩 全都是windows的api |
|
返回顶楼 | |
发表时间:2010-11-06
这种东西用WMI就好了,鼓捣win32 api做什么。。。
|
|
返回顶楼 | |
发表时间:2010-11-07
来瞄瞄~
|
|
返回顶楼 | |