0

mfc アプリケーションの終了を追跡することはできますか? 終了時にタスク バーを表示できるように、mfc アプリケーションがいつ終了するかを追跡したいと考えています。

CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", "");
pWnd->ShowWindow(SW_HIDE);

上記のコード行は、タスク バー ウィンドウを表示および非表示にするために使用されます。タスクマネージャーを追跡する可能性があるかどうか知りたいです。

4

3 に答える 3

0

MFC アプリケーションの場合は、CWinApp::ExitInstanceオーバーライドを使用して、アプリケーション終了のクリーンアップを完了します。

アプリケーションの終了 (適切なシャットダウンやクラッシュなど) を監視するアプリを作成する場合は、Mutex を使用できます。ここで説明されている良い例:

アプリケーションのクラッシュを検出して再起動する最善の方法は?

于 2012-10-22T17:48:19.743 に答える
0

なぜタスクバーを非表示にしたいのですか? タスクバーを非表示にすることは、完全に間違っており、失礼です。なんで?あなたはそれを所有していないからです。タスクバーはシステムによって管理され、ユーザーが所有しています。ユーザーが非表示にしたい場合は、自分で非表示にします。

所有していない車を「隠し」てはいけないのと同じように、所有していない窓を隠してはいけません。

少なくとも、アプリがクラッシュした場合、ユーザーはうんざりし、おそらくログオフを余儀なくされ、タスクバーを回復するために再度ログオンする必要があります。

フルスクリーン アプリが必要な場合は、利用可能な機能と 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

于 2012-10-24T08:06:53.680 に答える
-1

NOTIFYICONDATA 構造と関連する API を使用して追跡する

于 2012-10-22T06:27:45.493 に答える