高速にタスクトレイからアイコンを除去する方法 – プログラミング – Home

高速にタスクトレイからアイコンを除去す...
 
通知
すべてクリア

高速にタスクトレイからアイコンを除去する方法


キット
 キット
(@キット)
ゲスト
結合: 18年前
投稿: 14
 

タスクトレイにアイコンを配置して、アプリケーション終了時に除去して
終了する処理を入れているのですが、除去するのに何故か凄く時間が掛か
ってしまいます。

解決方法に良い知恵は無いでしょうか?

タスクトレイに入れる処理:
m_stNotifyIcon.cbSize = sizeof( NOTIFYICONDATA );
m_stNotifyIcon.uID = 1;
m_stNotifyIcon.hWnd = m_hWnd;
m_stNotifyIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
m_stNotifyIcon.hIcon = AfxGetApp()->LoadIcon( IDR_MAINFRAME );
m_stNotifyIcon.uCallbackMessage = 0;
lstrcpy( m_stNotifyIcon.szTip, Foo Boo Foo Boo Brabra );
Shell_NotifyIcon( NIM_ADD, &m_stNotifyIcon );

除去する処理:
Shell_NotifyIcon( NIM_DELETE, &m_stNotifyIcon );

***

Shell_NotifyIcon( NIM_DELETE, &m_stNotifyIcon );

を呼ぶと、2~3秒フリーズっぽい挙動になります。
Becky! を見ると、サクっとタスクトレイからアイコンが消えているので
なんらか方法が有ると思うのですが、Non-Block関数とかが実は有るので
しょうか?

よろしくお願いいたします。


引用解決済
トピックタグ

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました