----摘抄----
估计是在 WINNT 或 WIN2000 下权限不够的问题,请在执行 ExitWindowsEx 前执行以下函数
void CMyDlg::SetPriviles()
{
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
        MessageBox("OpenProcessToken Error !","Error");
    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);
    if(GetLastError() != ERROR_SUCCESS)
        MessageBox("AdjustTokenPrivileges Error !","Error");
    return;