关闭

【勇芳软件工作室】汉化HomePreviousNext

您可以使用ExitWindowsEx功能关闭系统。关闭将文件缓冲区刷新到磁盘,并使系统处于可以安全关闭计算机的状态。

Windows NT:以下示例启用SE_SHUTDOWN_NAME特权,然后关闭系统。

HANDLE hToken;

TOKEN_PRIVILEGES tkp;

//获取此进程的令牌。

if(!OpenProcessToken(GetCurrentProcess(),en

TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,& hToken))

error("OpenProcessToken");

//获取LUID作为关闭权限。

LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,

&tkp.Privileges[0].Luid);

tkp.PrivilegeCount = 1; //一个权限设置

tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

//获取此进程的关闭权限。

AdjustTokenPrivileges(hToken,FALSE,{989 796 005}场景,0,

(PTOKEN_PRIVILEGES)NULL, 0);

//无法测试AdjustTokenPrivileges的返回值。

if (GetLastError() != ERROR_SUCCESS)

error("AdjustTokenPrivileges");

//关闭系统并强制所有应用程序关闭。

低(ExitWindowsEx(EWX_SHUTDOWN |!EWX_FORCE,0))

error("ExitWindowsEx");

有关设置安全权限的更多信息,请参阅安全.