通知
すべてクリア
2006年10月7日 11:09 PM
タスクトレイにアイコンを配置して、アプリケーション終了時に除去して
終了する処理を入れているのですが、除去するのに何故か凄く時間が掛か
ってしまいます。
解決方法に良い知恵は無いでしょうか?
タスクトレイに入れる処理:
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関数とかが実は有るので
しょうか?
よろしくお願いいたします。