我正在编写一个程序,除非需要一个程序,否则根本不会创建任何表单。问题是,它阻止关机自动继续。我已经看到discussions关于添加if
以形成结束事件以检查是否由于关闭,但正如我所说,我的程序在完成之前根本没有任何形式。< / p>
是否有任何事件或其他方法可以让我知道我的程序何时应该关闭以允许Windows自动关闭? And it's not multithreaded
答案 0 :(得分:4)
您可以使用SystemEvents
课程来“收听”用户退出或关闭。
如果我正确理解文档(并且使用Reflector的深入研究证实了这一点):
答案 1 :(得分:1)
您总是可以添加一个最小化打开的虚拟表单,任务栏上没有图标 - 它不会产生任何视觉影响,但会发送表单结束事件 - 您可以在其中记录关闭事件,并且可能关闭/停止您的应用程序正在执行的任何其他操作。
答案 2 :(得分:1)
处理Microsoft.Win32.SystemEvents.SessionEnding
事件,并使用System.Environment.HasShutdownStarted