2011-04-04 117 views
1

我有一个应用程序在收到关闭事件时停止,但此应用程序需要在用户会话中持续运行。如果有程序阻止关机,然后用户'取消'关机,则应用程序不再运行。Windows关闭取消 - 已关闭的重新启动应用程序

有没有办法让Windows重新启动应用程序或让应用程序成为关闭的最后一个应用程序?

我已阅读:http://msdn.microsoft.com/en-us/library/ms686227%28VS.85%29.aspx但这只会改变通知的顺序,并且在阻止关闭的应用程序终止后不会收到。

谢谢!

+0

您正在使用哪个关机事件? – Neil 2011-04-04 23:12:08

回答

2

有没有办法让Windows重新启动 应用程序或有 应用是最后 应用程序关闭?

这会违反“What if two programs did this?”本金。

你使用SetProcessShutdownParameters()来延迟你的应用程序关闭吗?这还不够吗?

1

WM_ENDSESSION添加到您的Windows消息处理循环;这仅在Windows实际上正在关闭时才会发送。如果由于某种原因,您的应用程序需要介入关闭过程,您还可以响应WM_QUERYENDSESSION消息。

+0

只是澄清一点:如果您的应用程序从WM_QUERYENDSESSION返回TRUE,那么即使会话没有结束,它也会得到WM_ENDSESSION - wParam会指示它是否结束。 – 2011-04-05 02:51:48

+0

@Ciaran;是的,这是正确的。自从我自己处理这个消息以来,没有被捕获,并且它已经有一段时间了。 – 2011-04-05 03:21:05

相关问题