• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LinuxHunter
原创+技巧=无坚不摧
博客园    首页    新随笔    联系   管理    订阅  订阅
Windows快速关机与重启
在windows下快速关闭和重启你的电脑

 

#include <windows.h>

int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
{
    int SE_SHUTDOWN_PRIVILEGE = 0x13;
    typedef int (WINAPI *PFNRtlAdjustPrivilege)( INT, BOOL, BOOL, BOOL* );
    typedef int (WINAPI *PFNZwShutdownSystem)( INT );

    HMODULE hModule = LoadLibrary( TEXT("ntdll.dll") );
    if( hModule != NULL)
    {
        PFNRtlAdjustPrivilege pfnRtlAdjustPrivilege = (PFNRtlAdjustPrivilege)GetProcAddress( hModule, "RtlAdjustPrivilege" );
        PFNZwShutdownSystem pfnZwShutdownSystem = (PFNZwShutdownSystem)GetProcAddress( hModule, "ZwShutdownSystem" );
        if( pfnRtlAdjustPrivilege != NULL &&
            pfnZwShutdownSystem != NULL )
        {
            BOOL bEnabled = 0;
            int nResult = pfnRtlAdjustPrivilege( SE_SHUTDOWN_PRIVILEGE,
                                              TRUE, TRUE, &bEnabled );
            if( nResult == 0xC000007C )
            nResult = pfnRtlAdjustPrivilege( SE_SHUTDOWN_PRIVILEGE,
                                          TRUE, FALSE, &bEnabled );
            nResult = pfnZwShutdownSystem( 0 );
            //快速关闭系统 = 0;
            //快速重启 = 1;
            //快速关机 = 2;
        }
    }
}
posted on 2010-11-23 20:08  LinuxHunter  阅读(357)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3