是否有可能从Windows服务中断计算机关机?从Windows服务中止计算机关机
回答
是的。你可以调用shutdown/A使用的Process.Start
static void Main(string[] args)
{
Process p = new Process();
p.StartInfo.FileName = "shutdown";
p.StartInfo.Arguments = "/r";
p.Start();
Thread.Sleep(5000);
p.StartInfo.Arguments = "/a";
p.Start();
}
上面的代码告诉计算机关机和重启,等待5秒钟,然后终止它。
'shutdown/a'只适用于有超时期限的关机。如果用户点击开始>>关机,shutdown/a将不会中止它。 – 2010-04-28 13:29:20
什么都可以中止吗?即使这样做,无论如何,有可能有一半的流程已经结束,在这个阶段放弃它可能不是一个好主意。 – NibblyPig 2010-04-28 13:50:00
AbortSystemShutdown
我已经在类似的问题,增加了一个样本,以我的答案在这里
How cancel shutdown from a windows service C#
这不会出于同样的原因SLC的答案将无法正常工作 - AbortSystemShutdown只有在被称为“关机超时期间”[MSDN quote]时才会成功。当用户启动关机时,没有超时时间。 – 2010-04-28 13:39:24
我错过了,谢谢。 – 2010-04-28 13:55:55
- 1. 从Windows 2000服务器计算机
- 2. 防止在Windows中脱离计算机
- 3. C#Windows服务 - 本地计算机上的服务已启动,然后停止?
- 4. 使用关机事件不能停止服务的Windows服务
- 5. 从远程计算机拨打Windows服务
- 6. 从远程Windows计算机到Mysql远程服务器的Mysqlimport.exe
- 7. 防止Windows关机
- 8. 创建用于关闭计算机的Windows服务在计算机被锁定时不起作用
- 9. 在Windows服务中获取计算机名称?
- 10. 停止/启动服务或远程计算机上的远程计算机上关闭SQL服务器进程/服务
- 11. 远程关机命令不适用于Windows Embedded计算机
- 12. Exe4j,Windows服务,处理关机事件
- 13. Windows NT服务关机问题
- 14. 编程阻止Windows关机
- 15. 本地计算机上的MySQL服务启动然后停止
- 16. 本地计算机上的MySQL57服务启动然后停止
- 17. 无法停止本地计算机上的wampapache服务
- 18. 如何在本地计算机上启动Windows服务
- 19. 使用PowerShell 2.0在远程计算机上安装Windows服务
- 20. Windows无法在本地计算机上启动服务
- 21. 安装Windows服务后重新启动计算机
- 22. Windows无法启动RabbitMQ的服务在本地计算机上
- 23. Powershell在远程计算机上安装/卸载Windows服务
- 24. Windows 10计算机上的PHP/Apache服务器设置
- 25. 无法在Windows XP计算机上开发WCF RIA服务
- 26. C#从计算机
- 27. 如何使用PHP获取计算机名称,计算机的本地IP和计算机的服务器IP
- 28. 想看看哪个在服务器计算机运行在本地主机从客户端计算机
- 29. 从AIR/Flex关闭计算机
- 30. WCF服务关机
不错!让我在我烦恼的东西程序大名单中添加另一个条目。 – Will 2010-04-28 12:46:17
重复:http://stackoverflow.com/questions/589986/how-to-abort-shutdown-in-windows-xpvista-programatically – Oliver 2010-04-28 12:46:37
这不是重复你张贴的问题。这个问题谈到了桌面应用程序获取关于允许中止的关机的窗口消息。服务不会获得该窗口消息,因为它没有窗口。 – 2010-04-28 13:35:11