[PR]

タスクトレイの通知領域にアイコンを登録する

戻る

 タスクトレイの通知領域にアイコンを登録するには第1引数に値 NIM_ADD を指定して関数 Shell_NotifyIcon() を呼び出します。
 通知領域は Windows の起動時などに通知領域に大量のメッセージが一度に送られてきた場合にはアイコンの登録を拒否することがあります。
 このような場合、通知領域のメッセージが処理されるのを待って再度アイコンを登録し直すことで通知領域にアイコンを登録することができます。

//*********************************************************
// AddNotifyIconRetry()
//  タスクトレイの通知領域にアイコンを登録する。
//  アイコンの登録に成功すると 真 を返す。
//  アイコンを登録する失敗した場合は最大 count 回まで interval msec 間隔でアイコンの登録を試みる。
//  最大 count 回の試行でもアイコンの登録が成功しなかった場合には 偽 を返す。
//*********************************************************
bool
AddNotifyIconRetry
	(
		NOTIFYICONDATA *nid,     // 登録するアイコン
		int             count,   // retry の回数
		int             interval // 次の retry までの待機時間 (msec)
	)
{
	while( !Shell_NotifyIcon( NIM_ADD, nid ) )
	{
		// count 回までは登録を試みる
		if ( count-- <= 0 )
		{
			return false;
		}

		Sleep( interval );
	}

	return true;
}//AddNotifyIconRetry

関連

タスクバーの起動を検出する
シングルクリックとダブルクリックを使い分ける
通知領域のアイコンを再登録する


Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
IDGは全世界85カ国でIT関連雑誌を発行する出版社です。