如何出现win2000的关机对话框?

解决方案 »

  1.   

    ShutdownWindows()
    {
    HANDLE hProcess, hToken; 
    TOKEN_PRIVILEGES NewState; 
    DWORD ProcessId, ReturnLength = 0; 
    LUID luidPrivilegeLUID; ProcessId = GetCurrentProcessId(); 
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessId); 
    if(!OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, &hToken)) 
    return ; if(!LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &luidPrivilegeLUID)) 
    return ; NewState.PrivilegeCount = 1; 
    NewState.Privileges[0].Luid = luidPrivilegeLUID; 
    NewState.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
    if(AdjustTokenPrivileges(hToken, FALSE, &NewState, NULL, NULL, NULL)) 
    {
    ExitWindowsEx(EWX_FORCE | EWX_POWEROFF, 0); 
    }
    }