求关机、重启、注销代码
来源:互联网 发布:淘宝上能搜到闲鱼 编辑:程序博客网 时间:2024/05/16 08:22
重启使用WMI,网上代码很多。 估计注销也可以使用WMI。 关机使用调用API的类如下: using System; using System.Runtime.InteropServices ; namespace OffComputer { /// <summary> /// Offcomputer 的摘要说明。 /// 关闭计算机 /// </summary> public class Offcomputer { [StructLayout(LayoutKind.Sequential, Pack = 1)] internal struct TokPriv1Luid { public int Count; public long Luid; public int Attr; } [DllImport( "kernel32.dll ", ExactSpelling = true)] internal static extern IntPtr GetCurrentProcess(); [DllImport( "advapi32.dll ", ExactSpelling = true, SetLastError = true)] internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok); [DllImport( "advapi32.dll ", SetLastError = true)] internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid); [DllImport( "advapi32.dll ", ExactSpelling = true, SetLastError = true)] internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall, ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen); [DllImport( "user32.dll ", ExactSpelling = true, SetLastError = true)] internal static extern bool ExitWindowsEx(int flg, int rea); internal const int SE_PRIVILEGE_ENABLED = 0x00000002; internal const int TOKEN_QUERY = 0x00000008; internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020; internal const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege "; internal const int EWX_LOGOFF = 0x00000000; internal const int EWX_SHUTDOWN = 0x00000001; internal const int EWX_REBOOT = 0x00000002; internal const int EWX_FORCE = 0x00000004; internal const int EWX_POWEROFF = 0x00000008; internal const int EWX_FORCEIFHUNG = 0x00000010; public Offcomputer() { // // TODO: 在此处添加构造函数逻辑 // } public static void ShutDown(int i) //i=0 ShutDown i=1 Reboot { if (i == 0) { DoExitWin(EWX_SHUTDOWN + EWX_FORCE); } else if (i == 1) { DoExitWin(EWX_REBOOT + EWX_FORCE); } } private static void DoExitWin(int flg) { bool ok; TokPriv1Luid tp; IntPtr hproc = GetCurrentProcess(); IntPtr htok = IntPtr.Zero; ok = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok); tp.Count = 1; tp.Luid = 0; tp.Attr = SE_PRIVILEGE_ENABLED; ok = LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, ref tp.Luid); ok = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero); ok = ExitWindowsEx(flg, 0); } } }
- 求关机、重启、注销代码
- 关机 重启 注销
- 注销 关机 重启
- 控制系统关机,重启,注销
- linux注销、关机、重启
- 强制关机/重启/注销
- MFC-关机注销重启
- 注销 重启 关机 定时
- 关机休眠重启注销的类
- 编程实现Windows关机、重启、注销
- C#实现PC关机,注销,重启
- 调用API关机、重启、注销
- C# 计算机重启、关机、注销
- Linux基本命令注销、关机、重启
- Ubuntu linux 关机、重启、注销 命令
- VC中关机-重启-注销-休眠
- Ubuntu linux 关机、重启、注销 命令
- Ubuntu 关机、重启、注销 命令
- 诺基亚叫板谷歌微软
- DockPanel
- [转]路由器访问控制列表详解
- 商业周刊:诺基亚Symbian免费开放帮了Google
- 时间扩展函数!
- 求关机、重启、注销代码
- 加密 解密VBS 脚本
- SOA在业务与IT两个世界中畅行
- css 学习笔记
- 图片尺寸转换的VBS脚本
- Freebsd6.2 使用 apache2 + rewrite
- SQL算字符串有几个‘-’
- Google发布媒体服务器软件 可将PC连接到TV
- Php网站脚本注入的原理