![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
以下を参考にタスクトレイにアイコンを追加するようにしました。
http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_T …
しかしながら、プログラムを終了させてもタスクトレイにアイコンが残っており、マウスポインタをアイコンに近づけるとようやくアイコンが消えます。
一般的なアプリのようにプログラム終了時に即アイコンが消えるようにするにはどうすれば良いのですか?
<環境> WIN98 VC++6.0 MFC
No.2ベストアンサー
- 回答日時:
1.呼ばれてない
2.呼ぶタイミングが悪い
では?
呼ばれていないについては、デバッグすればわかるでしょう。
呼ぶタイミングが悪いについては、
CDialog::OnDestroy();
を呼ぶ前にAPIをコールしてみるとか。
お久しぶりです。
呼ばれていませんでした。
そこで以下のように終了まえに追加することでうまく行きましたが、これで良かったのかな?
::Shell_NotifyIcon( NIM_DELETE, &m_stNotifyIcon );
PostMessage( WM_CLOSE, 0, 0L);
PS
ちなみにtaka_tetsuさんは、ここ以外のQ&Aでも回答されていますか?
No.3
- 回答日時:
>そこで以下のように終了まえに追加することでうまく行きましたが、これで良かったのかな?
>::Shell_NotifyIcon( NIM_DELETE, &m_stNotifyIcon );
>PostMessage( WM_CLOSE, 0, 0L);
これでもいいですけど、通常はOnCloseの中で
終了の確認メッセージを出すパターンが多いと思うので、
そんなつくりにした場合、続行したときでも
消えちゃいますよね。
なんで、Postする前よりは、OnCloseの中でしょう。
>ちなみにtaka_tetsuさんは、ここ以外のQ&Aでも回答されていますか?
してないですよ。
No.1
- 回答日時:
サンプル
|::Shell_NotifyIcon( NIM_ADD, &m_stNotifyIcon );
となっているので、終了処理で
::Shell_NotifyIcon(NIM_DELETE, &m_stNotifyIcon)
を行えば良いハズです。
回答ありがとう御座います。
参考にしたサイトにも
void CChildDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: この位置にメッセージ ハンドラ用のコードを追加してください
::Shell_NotifyIcon( NIM_DELETE, &m_stNotifyIcon );
}
と書いて有ったのでそうしましたが、質問と同じ現象が出てアイコンがすぐに消えません。
再度アドバイスをお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) CD/DVDのアイコンが消えました 3 2022/11/17 23:15
- iPhone(アイフォーン) iPhoneのホーム画面から消えた「Facebook」アイコン iOS15.5のiPhone XRで 2 2022/07/10 13:29
- アプリ iPhoneのこのアイコンのアプリってなんのアプリか分かりますか? 旦那のスマホで一緒にYouTub 3 2023/03/04 00:37
- Y!mobile(ワイモバイル) スマホをYモバイルから他社に転出した後のSMSアイコンについての質問です。 1 2022/10/31 16:13
- iPhone(アイフォーン) ソフトウェアアップデートの赤い①アイコンが消えないのは何故でしょうか? 今これですアップデートはして 2 2023/01/24 05:59
- 子供 家庭子供がいる女性の皆様へ。 3 2022/04/30 19:48
- Google+ スマホの検索履歴 0 2023/01/24 21:14
- C言語・C++・C# C#の2つの実行ファイルとアプリアイコンの変更について 1 2023/01/07 16:57
- au(KDDI) GALAXYのアイコンについて 1 2022/05/01 11:45
- Mac OS MacBook Pro最新バージョンで全てのアプリを表示するアイコンが消えて出来なくなりました直し方 1 2023/06/19 16:52
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指定したフォルダーを最前面表...
-
16ピンのPIC16F819のサーボモー...
-
作ったプログラムがすぐに閉じ...
-
任意ソフトのテキストボックス...
-
if文の中の処理
-
プログラミングの問題と解答例...
-
ニューラルネットワークによる...
-
OpenCvsharpについて。
-
誰でも使えそうなWikiの構築を...
-
Macターミナルで実行中のプログ...
-
タスクマネージャーのプロセス...
-
C言語で、メモリを解放しないで...
-
explorer.exeが異様にメモリを食う
-
家電製品の電力周波数を変える機械
-
メモリアロケーション異常の発...
-
VBA kernel32 の意味
-
C++からCへのソース変換について
-
ストール監視の監視方法
-
C++でCtrl+Cを無効化したい
-
非表示になったエクセルは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定したフォルダーを最前面表...
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
COBOLのS9タイプからXタイプへ...
-
C言語primeについて
-
マイコンからプログラムを読み...
-
2値化した画像の黒い部分のピク...
-
Webプログラムってネイティブア...
-
初級者の質問――time_tについて
-
c言語のサイコロを100回振って...
-
Arduino nano(アルドゥイーノ ...
-
Excel VBA で、データベースフ...
-
無限ループ中にある任意のキー...
-
processingで雪が積もるような...
-
プログラミングの問題と解答例...
-
三次元のグラフを書きたいので...
-
VBコンソールアプリ(.NET Frame...
-
javaで辞書プログラムを作りたい.
-
gccでスタックオーバーフローの...
-
アプリ終了時にタスクトレイか...
おすすめ情報