Shutdown命令简介: 用法: shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m //computer][/t xxx][/d [p:]xx:yy [/c "comment"]] 没有参数 显示帮助。这与键入 /? 是一样的 /? 显示帮助。这与不键入任何选项是一样的 /i 显示图形用户界面(GUI)。 这必须是第一个选项 /l 注销。这不能与 /m 或 /d 选项一起使用 /s 关闭计算机 /r 关闭并重启动计算机 /a 放弃系统关闭。 这只能在超时过程中使用 /p 关闭本地计算机,没有超时或警告。 这只能与 /d 选项一起使用 /h 休眠本地计算机。 这只能与 /f 选项一起使用 /e 将计算机的意外关闭原因记入文档 /m //computer 指定目标计算机 /t xxx 设置关闭前的超时为 xxx 秒。 有效范围是 0-600,默认为 30 /c "comment" 重启动或关闭的原因的注释。 最大允许 127 个字符 /f 强制正在运行的应用程序关闭而不事先警告用户 /d [p:]xx:yy 提供重启动或关闭的原因 p 表明重启动或关闭是计划内的 xx 是主要原因号(小于 256 的正整数) yy 是次要原因号(小于 65536 的正整数) 代码如下: System.Diagnostics.Process bootProcess = new System.Diagnostics.Process(); bootProcess.StartInfo.FileName = "shutdown"; bootProcess.StartInfo.Arguments = "/s"; bootProcess.Start();
后来仔细想了想,在应用程序中提供了一个完整的实现系统关机、重启、注销的类库,DLL文件为System.ManagerMent.dll,这是WMI的使用。
WMI是英文Windows Management Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机,关闭进程,创建进程等。其中WMI中含有语言WOL,用于实现各种操作。下面是实现关机的代码:
ConnectionOptions BootConn = new ConnectionOptions(); BootConn.Username = "XXXX"; BootConn.Password = "XXXXXX"; ManagementScope ms = new ManagementScope("////计算机名或IP地址//root//cimv2", BootConn); ms.Options.EnablePrivileges = true; try { ms.Connect(); } catch (Exception err) { MessageBox.Show(err.ToString()); } if (ms.IsConnected) { try { ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher mos = new ManagementObjectSearcher(ms, oq); ManagementObjectCollection moc = mos.Get(); foreach (ManagementObject mo in moc) { string[] ss = { "8", "4" }; mo.InvokeMethod("Win32Shutdown", ss); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
|
请发表评论