为什么调用的API函数没有被执行???
我想实现调用API函数实现定时关机,但是用下面的代码后,并没有实现?
int nTime=this->DateTimePicker4->DateTime-Now();
if(this->suiCheckBox1->Checked==true && nTime<2)
{
ExitWindowsEx(EWX_SHUTDOWN,0);//
}
问题点数:20、回复次数:3Top
1 楼missdeer(思鹿)回复于 2005-02-19 11:44:47 得分 0
你的条件判断成立吗Top
2 楼small518(小小)回复于 2005-02-19 11:51:36 得分 0
判断成立!Top
3 楼Maconel(Maconel)回复于 2005-02-19 13:57:19 得分 20
2000系统下不能通过直接调用ExitWindowsEx来关机,可以使用下列代码:
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken))
{
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);
ExitWindowsEx(EWX_SHUTDOWN|EWX_POWEROFF, 0);
}
Top




