我有一个win32应用程序,它产生了多个长时间运行的进程。
在主进程(创建UI并生成工作进程)中,我正在处理WM_QUERYENDSESSION
以阻止关闭,以防我的应用程序执行会导致数据损坏的关键操作。问题在于,即使在主进程收到WM_QUERYENDSESSION
之前,Windows也会终止子进程(没有特殊的WM_QUERYENDSESSION
处理),使应用程序处于无效状态。
在这种情况下,处理WM_QUERYENDSESSION
的正确方法是什么?我是否必须处理每个子进程中的消息并以某种方式协调所有进程的关闭,还是有办法告诉Windows子进程在关闭时不应该被杀死,而是由主进程负责清理? / p>