例程 | 快速关机Shutdown

 

  公司公用的笔记本电脑实在太烂,不知从什么时候开始关机永远都关不了,一直停留在“关闭系统中……”。忍无可忍之下,自己写了一个快速关机程序。

下载:

Shutdown_for_WinXP.rar

Shutdown_for_Win7-32bit.rar

Shutdwon Source Code

源码:

BOOL NtExitWindows(UINT uFlags, DWORD dwReason)
{
    HANDLE hToken; 
    TOKEN_PRIVILEGES tkp; 
    
    if (!OpenProcessToken(GetCurrentProcess(), 
        TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
        return FALSE; 
    
    if (!LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, 
                                &tkp.Privileges[0].Luid))
    {
        CloseHandle(hToken);
        return FALSE;
    }
    
    tkp.PrivilegeCount = 1;  // one privilege to set    
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
    if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof(TOKEN_PRIVILEGES), 
                                (PTOKEN_PRIVILEGES)NULL, (PDWORD) NULL))
    {
        CloseHandle(hToken);
        return FALSE;
    }
    
    CloseHandle(hToken);
    return ExitWindowsEx(uFlags, dwReason);
}

 

下载:

Shutdown_for_WinXP.rar

Shutdown_for_Win7-32bit.rar

Shutdwon Source Code

posted @ 2015-04-03 17:20  自拔的萝卜  阅读(919)  评论(10编辑  收藏  举报