首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小弟我这样写了一段C语言源程序,运行为什么无法关机

2012-04-20 
我这样写了一段C语言源程序,运行为什么无法关机!我这样写了一段C语言源程序,运行为什么无法关机!C/C++ cod

我这样写了一段C语言源程序,运行为什么无法关机!
我这样写了一段C语言源程序,运行为什么无法关机!

C/C++ code
#include<windows.h>void main(){    ExitWindowsEx(EWX_REBOOT, 0); }


[解决办法]
看看返回值
还有GetLastError看看结果
[解决办法]
要先提升权限才行,参考下面的
C/C++ code
BOOL MySystemShutdown(){   HANDLE hToken;    TOKEN_PRIVILEGES tkp;     // Get a token for this process.     if (!OpenProcessToken(GetCurrentProcess(),         TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))       return( FALSE );     // Get the LUID for the shutdown privilege.     LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,         &tkp.Privileges[0].Luid);     tkp.PrivilegeCount = 1;  // one privilege to set       tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;     // Get the shutdown privilege for this process.     AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,         (PTOKEN_PRIVILEGES)NULL, 0);     if (GetLastError() != ERROR_SUCCESS)       return FALSE;     // Shut down the system and force all applications to close.     if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,                SHTDN_REASON_MAJOR_OPERATINGSYSTEM |               SHTDN_REASON_MINOR_UPGRADE |               SHTDN_REASON_FLAG_PLANNED))       return FALSE;    return TRUE;}
[解决办法]
探讨
要先提升权限才行,参考下面的

C/C++ code

BOOL MySystemShutdown()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;

// Get a token for this process.

if (!OpenProcessToken(GetCurrentProcess(),
……

热点排行