在MFC中,关机,重启,待机的代码是多少?

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:41:48
在MFC中,关机,重启,待机的代码是多少?说明,试过ExitWindowEx不能用,待机用SetPowerState不行。。请问有什么代码吗?

XP是基于NT的核心,对安全性有一定的要求,在调用ExitWindowEx这个函数之前,必须将自己的权限提升到DeBug权限.代码如下:

void EnableDebugPriv()

{

HANDLE hToken;

LUID sedebugnameValue;

TOKEN_PRIVILEGES tkp;

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);

LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue);

tkp.PrivilegeCount = 1;

tkp.Privileges[0].Luid = sedebugnameValue;

tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, false, &tkp, sizeof tkp, NULL, NULL);

CloseHandle(hToken);

}