系统在关机时,会一个一个应用程序处理。
我希望在程序中,可以用API或别的方式查询,当前是否进入关机过程中。虽然我的程序还没有收到关机的通知,因为还在处理别的程序。

解决方案 »

  1.   

    关机或Logff后,Windows会传依序送出WM_QUERYENDSESSION的信息给每个Process,如果中间有一个Process不能顺利结束(例如:Word修改后未存档,而出现是否存档,但我们按取消),这时该信息执行的结果会传回False(0),这时Windows也就不再继续送WM_QUERYENDSESSION给下一个Proccess。反之,如果所有的Process都可以顺利结束(也就是每个送出的WM_QUERYENDSESSION都传回True),那才代表以以顺利结束。
      

  2.   

    因为运行程序较多的时候,关机过程很慢,特别是有的程序可能在结束时会大量占用CPU时间,也许要好几秒以后我的程序才会收到消息。