//Win2000&WinNT实现的代码
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken))
    {
        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);
        ExitWindowsEx(EWX_SHUTDOWN|EWX_POWEROFF, 0);
    }
    //Win9x实现的代码
    ExitWindowsEx(EWX_SHUTDOWN|EWX_POWEROFF, 0);
posted on 2006-01-11 06:36  王浩的博客  阅读(266)  评论(0)    收藏  举报