ExitWindowsEx(EWX_SHUTDOWN,0);为什么关不了2000?

解决方案 »

  1.   

    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,0,(PTOKEN_PRIVILEGES)NULL,0);
    if(GetLastError()!=ERROR_SUCCESS)
       return;
    ExitWindowsEx(EWX_POWEROFF,0);没有别的要求,准时结帐哦...
      

  2.   

    楼上说得没错
    win2000中是要求先取得关机权限才可以关机的。