多くの場合、自分自身が理由もなく消えますタスクトレイにプログラムを書いて見つけるが、再生成は、プログラムは次のタスクトレイを再度追加する必要がある場合、プロセスはまだ元のエクスプローラが異常、存在します。
再起動プロセスエクスプローラ、タスクバーが作成されたとき、タスクバーには、文字列「TaskbarCreated」その後、メッセージはそのトップレベルウィンドウのすべてにブロードキャストされる登録メッセージを作成するために使用されます。だから我々は、ニュースを登録し、キャプチャするために行くことができますし、メッセージハンドラでShell_NotifyIcon(NIM_ADD、&m_nid)を呼び出し、トレイアイコンを再び追加されます。
定義されたWM_TaskbarRestart
1 CONST UINT WM_TaskbarRestart = RegisterWindowMessage(TEXT(" TaskbarCreated "));
1 ON_REGISTERED_MESSAGE(WM_TaskbarRestart、&CXXXDlg :: OnTaskBarRestart) 2 3 LRESULT CXXXDlg :: OnTaskBarRestart(WPARAMのwParam、LPARAM lParamに) 4 { 5 Shell_NotifyIcon(NIM_ADD、&m_nId)。 6 7 戻り 0 。 8 }
声明;
AFX_MSG LRESULT OnTaskBarRestart(WPARAMのwParam、LPARAM lParamに)。