C# windows 7 在计算机关机前运行 exe

use*_*843 2 c# group-policy .net-framework

我想运行一个可执行文件,在计算机(在 Windows 7 上运行)关闭之前将 XML 文件保存在本地驱动器上。

我知道可以在关机前运行脚本。这可以在计算机配置 --> Windows 设置 --> 脚本(启动/关机)下的本地组策略编辑器中进行配置。

我试图将我的可执行文件放在关闭属性中,但它不起作用。如何在计算机关闭之前运行可执行文件?如何连接关机事件?

小智 7

在启动关闭时启动进程是一个坏主意。在这个阶段,最有可能的结果是返回错误1115ERROR_SHUTDOWN_IN_PROGRESS

更好的方法是安装服务并注册服务以通过 接收关闭通知RegisterServiceCtrlHandlerEx,请参阅关闭:

服务应用程序在其处理程序例程中接收关闭通知。要注册服务控制处理程序,请使用该RegisterServiceCtrlHandlerEx函数。

AC# 服务将通过设置CanShutdown为 true 然后处理OnShutdown事件来做到这一点。重要的是服务,而不是应用程序,因为当没有会话登录和/或多个会话可能在关闭时运行时可能会发生关闭。