有可能跟踪mfc应用程序何时终止?我想跟踪我的mfc应用程序何时终止,以便我可以在终止时显示任务栏。如何跟踪mfc应用程序关闭的时间?
CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
pWnd->ShowWindow(SW_HIDE);
上述代码行用于显示和隐藏任务栏窗口。我想知道是否有任何可能跟踪任务管理器。
有可能跟踪mfc应用程序何时终止?我想跟踪我的mfc应用程序何时终止,以便我可以在终止时显示任务栏。如何跟踪mfc应用程序关闭的时间?
CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
pWnd->ShowWindow(SW_HIDE);
上述代码行用于显示和隐藏任务栏窗口。我想知道是否有任何可能跟踪任务管理器。
使用NOTIFYICONDATA结构和相关API跟踪
如果它是一个MFC应用程序中使用CWinApp::ExitInstance
覆盖,完成应用程序终止清理。
如果您希望编写一个应用程序来监视应用程序终止(例如正确关闭或崩溃),则可以使用Mutex。这里介绍一个很好的例子:
你为什么要隐藏任务栏?隐藏任务栏是错误的和粗鲁的。为什么?因为你不拥有它。任务栏由系统管理并拥有用户;如果用户想隐藏它,他会自己隐藏它。
就像你不去'隐藏'你不拥有的汽车,你不应该隐藏你不拥有的窗户。
如果没有其他问题,如果您的应用程序崩溃,用户被拧紧,很可能会被迫注销,然后再恢复其任务栏。
如果您需要需要一个全屏应用程序,然后使用可用功能& API编写一个全屏应用程序。如果您使用的是VS2010,稍后考虑使用记录在http://msdn.microsoft.com/en-us/library/cc308980.aspx处的CFullScreenImpl。
或者检查一下,在这里StackOverflow:How to create full screen window with MFC?。
快速谷歌搜索也揭示了这个CodeProject上的链接:http://www.codeproject.com/Articles/9632/Views-in-Full-Screen-Mode
我找到了解决方案的一半,WM_CLOSE是消息时,按windows任务管理器结束任务时,处理器的轨道。但我想知道在Windows任务管理器中单击结束进程按钮时的消息处理程序。 – shivcena
没有结束过程的消息。按定义结束进程是可执行文件的脏关闭。操作系统只是停止它。 – GazTheDestroyer
@Gaz:是他们通知结束过程的其他方式。 – shivcena