mfc アプリケーションの終了を追跡することはできますか? 終了時にタスク バーを表示できるように、mfc アプリケーションがいつ終了するかを追跡したいと考えています。
CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
pWnd->ShowWindow(SW_HIDE);
上記のコード行は、タスク バー ウィンドウを表示および非表示にするために使用されます。タスクマネージャーを追跡する可能性があるかどうか知りたいです。
mfc アプリケーションの終了を追跡することはできますか? 終了時にタスク バーを表示できるように、mfc アプリケーションがいつ終了するかを追跡したいと考えています。
CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
pWnd->ShowWindow(SW_HIDE);
上記のコード行は、タスク バー ウィンドウを表示および非表示にするために使用されます。タスクマネージャーを追跡する可能性があるかどうか知りたいです。
MFC アプリケーションの場合は、CWinApp::ExitInstance
オーバーライドを使用して、アプリケーション終了のクリーンアップを完了します。
アプリケーションの終了 (適切なシャットダウンやクラッシュなど) を監視するアプリを作成する場合は、Mutex を使用できます。ここで説明されている良い例:
なぜタスクバーを非表示にしたいのですか? タスクバーを非表示にすることは、完全に間違っており、失礼です。なんで?あなたはそれを所有していないからです。タスクバーはシステムによって管理され、ユーザーが所有しています。ユーザーが非表示にしたい場合は、自分で非表示にします。
所有していない車を「隠し」てはいけないのと同じように、所有していない窓を隠してはいけません。
少なくとも、アプリがクラッシュした場合、ユーザーはうんざりし、おそらくログオフを余儀なくされ、タスクバーを回復するために再度ログオンする必要があります。
フルスクリーン アプリが必要な場合は、利用可能な機能と API を使用してフルスクリーン アプリを作成します。VS2010 以降を使用している場合は、http://msdn.microsoft.com/en-us/library/cc308980.aspx に記載されている CFullScreenImpl の使用を検討してください。
または、StackOverflow でこれをチェックしてください: MFC でフルスクリーン ウィンドウを作成する方法は? .
簡単な Google 検索でも、この CodeProject のリンクが見つかりました: http://www.codeproject.com/Articles/9632/Views-in-Full-Screen-Mode
NOTIFYICONDATA 構造と関連する API を使用して追跡する