c# windows 关机控制

c# windows shutdown control

请阅读 - 这不是重复的

我有一个在 LocalSystem 帐户下运行的 Windows 服务。我需要在关机前恢复某些文件。我能够拦截关机操作,此时我启动恢复过程,但关机发生在我能够完成之前。 我启用了关机权限,添加了对 AbortShutdown (Win32) 的调用和其他几个(即关机 /a)选项,但它们不起作用。我相信这是因为关机或重启已经启动,而且我已经读到这些功能只会在预定时停止关机。

我的目标是拦截关机,中止它,完成我的任务然后关机。我只是需要更多时间,时间长短取决于我必须恢复的文件的数量和大小。

我乐于接受任何建议,感谢您的时间和考虑。 谢谢!

你的目标是站不住脚的。在 Windows,用户可以控制关​​机过程。如果用户想关机,你的软件也不能违背用户的意思。

您有责任确保您的软件能够处理关机,无论何时发生。这通常意味着确保文件操作尽可能原子化,或者在原子操作无法完成的情况下使用 "hot journal" 文件进行恢复(在下次系统启动时)。

你所说的文件,你必须在关机前恢复,一旦对它们进行任何操作,就应该"restored"(很难说出你在这里的意思)。没有进一步的细节,很难讨论具体的做法。

这听起来更像是可以用 windows 批处理文件完成的事情。