我用VC编WIN2000下的快速关机程序,所有都已经搞好了,就是关机时不是快速关机,而且关机时它会关闭系统后出现“现在可以安全关机了”的字样,我不知道该用哪个API函数,究竟该怎么办呢?怎么样才能快速关机?就象按下键盘上的“POWER”键一样关机?请高手指教!

解决方案 »

  1.   


    HANDLE hToken;
    LUID TakeOwnershipValue;
    TOKEN_PRIVILEGES tkp;
    if(!OpenProcessToken(GetCurrentProcess(),
            TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
            &hToken))
        return;
    if(!LookupPrivilegeValue((LPSTR)NULL,
            SE_SHUTDOWN_NAME,
            &TakeOwnershipValue))
       return ;tkp.PrivilegeCount=1;
    tkp.Privileges[0].Luid=TakeOwnershipValue;
    tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;if(!AdjustTokenPrivileges(hToken,
            false,
            &tkp,
            sizeof(TOKEN_PRIVILEGES),
            (PTOKEN_PRIVILEGES) NULL,
            (PWORD) NULL))
        return;
    }
    ExitWindowsEx(EWX_POWEROFF, (DWORD)NULL);
      

  2.   

    看一下电源管理的相关sdk吧。
      

  3.   

    ExitWindowsEx(EWX_POWEROFF || EWX_SHUTDOWN || EWX_FORCE,0)