自动关机的几行代码,问GetCurrentProcess()的意义。
下面是一个菜单项的响应函数,执行后可以关机。
请问:OpenProcessToken()函数的第一个参数GetCurrentProcess()是用来干什么的?有什么作用?
int result=MessageBox("确定要关机吗?","关机程 序",MB_OKCANCEL|MB_ICONWARNING);
if(result==IDOK)
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(!OpenProcessToken(GetCurrentProcess (),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
return;
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount=1;
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,NULL,NULL,NULL);
ExitWindowsEx((EWX_SHUTDOWN|EWX_POWEROFF),0);
}