zoukankan      html  css  js  c++  java
  • C# 实现快速闪电关机、快速重启

    using System;
    using System.Runtime.InteropServices;
    
    namespace FastReboot
    {
        static class Program
        {
            private delegate uint ZwShutdownSystem(int ShutdownAction);//编译
            private delegate uint RtlAdjustPrivilege(int Privilege, bool Enable, bool CurrentThread, ref int Enabled);
    
            [DllImport("kernel32.dll")]
            private extern static IntPtr LoadLibrary(String path);
            [DllImport("kernel32.dll")]
            private extern static IntPtr GetProcAddress(IntPtr lib, String funcName);
            [DllImport("kernel32.dll")]
            private extern static bool FreeLibrary(IntPtr lib);
    
            //将要执行的函数转换为委托
            private static Delegate Invoke(String APIName, Type t, IntPtr hLib)
            {
                IntPtr api = GetProcAddress(hLib, APIName);
                return (Delegate)Marshal.GetDelegateForFunctionPointer(api, t);
            }
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                IntPtr hLib = LoadLibrary("ntdll.dll");
                RtlAdjustPrivilege rtla = (RtlAdjustPrivilege)Invoke("RtlAdjustPrivilege", typeof(RtlAdjustPrivilege), hLib);
                ZwShutdownSystem shutdown = (ZwShutdownSystem)Invoke("ZwShutdownSystem", typeof(ZwShutdownSystem), hLib);
    
                int en = 0;
                uint ret = rtla(0x13, true, false, ref en);//SE_SHUTDOWN_PRIVILEGE = 0x13;     //关机权限
                ret = shutdown(1); // POWEROFF = 0x2 // 关机 // REBOOT = 0x1 // 重启
            }
        }
    }

    用C#实现闪电关机、重启。XP、2003、win8 x64测试正常。win7没有测试环境。未作测试。

  • 相关阅读:
    proc文件系统
    sysfs文件系统
    linux 下 进程和线程的区别
    Linux内核中常见内存分配函数
    内核空间与用户空间的通信方式
    DoDataExchange函数,UpdateData(TRUE)和UpdateData(FALSE)的区别
    C# 获取文件路径
    C# WinForm 中 MessageBox的使用详解
    C#对于文件操作
    线程间操作无效: 从不是创建控件的线程访问它。
  • 原文地址:https://www.cnblogs.com/leeairw/p/3740430.html
Copyright © 2011-2022 走看看