C# 实现注销、关机、重启电脑功能


  using System.Runtime.InteropServices;
[Flags]
        
public enum ExitWindows : uint
        
{
            LogOff 
= 0x00,      //注销
            ShutDown = 0x01,    //关机
            Reboot = 0x02,      //重启
            Force = 0x04,
            PowerOff 
= 0x08,
            ForceIfHung 
= 0x10
        }


        [Flags]
        
public enum ShutdownReason : uint
        
{
            MajorApplication 
= 0x00040000,
            MajorHardware 
= 0x00010000,
            MajorLegacyApi 
= 0x00070000,
            MajorOperatingSystem 
= 0x00020000,
            MajorOther 
= 0x00000000,
            MajorPower 
= 0x00060000,
            MajorSoftware 
= 0x00030000,
            MajorSystem 
= 0x00050000,

            MinorBlueScreen 
= 0x0000000F,
            MinorCordUnplugged 
= 0x0000000b,
            MinorDisk 
= 0x00000007,
            MinorEnvironment 
= 0x0000000c,
            MinorHardwareDriver 
= 0x0000000d,
            MinorHotfix 
= 0x00000011,
            MinorHung 
= 0x00000005,
            MinorInstallation 
= 0x00000002,
            MinorMaintenance 
= 0x00000001,
            MinorMMC 
= 0x00000019,
            MinorNetworkConnectivity 
= 0x00000014,
            MinorNetworkCard 
= 0x00000009,
            MinorOther 
= 0x00000000,
            MinorOtherDriver 
= 0x0000000e,
            MinorPowerSupply 
= 0x0000000a,
            MinorProcessor 
= 0x00000008,
            MinorReconfig 
= 0x00000004,
            MinorSecurity 
= 0x00000013,
            MinorSecurityFix 
= 0x00000012,
            MinorSecurityFixUninstall 
= 0x00000018,
            MinorServicePack 
= 0x00000010,
            MinorServicePackUninstall 
= 0x00000016,
            MinorTermSrv 
= 0x00000020,
            MinorUnstable 
= 0x00000006,
            MinorUpgrade 
= 0x00000003,
            MinorWMI 
= 0x00000015,

            FlagUserDefined 
= 0x40000000,
            FlagPlanned 
= 0x80000000
        }


        [DllImport(
"user32.dll")]
        
static extern bool ExitWindowsEx(ExitWindows uFlags, ShutdownReason dwReason);

        [STAThread]
        
static void Main(string[] args)
        
{
            ExitWindowsEx(ExitWindows.LogOff, ShutdownReason.MajorOther 
& ShutdownReason.MinorOther);
            
//这个语句将实现计算机注销操作   
        }
posted on 2008-01-10 11:12  Gofficer  阅读(2424)  评论(9编辑  收藏  举报