タスクバーのステータスエリアにメッセージを送信します。
BOOL Shell_NotifyIconA( DWORD dwMessage, // 送信するメッセージ PNOTIFYICONDATA pnid // NOTIFYICONDATA構造体 );
SHELL32.DLL
システムに送信するメッセージの種類を指定します。以下の値のいずれかを指定します。
値 | 意味 |
---|---|
0x00000000 (NIM_ADD) | ステータスエリアにアイコンを追加します。 |
0x00000001 (NIM_MODIFY) | アイコンを変更します。 |
0x00000002 (NIM_DELETE) | アイコンを削除します。 |
0x00000003 (NIM_SETFOCUS) | Version 5.00 以降: タスクバー通知エリアにフォーカスを返します。タスクバーアイコンは、ユーザーインターフェース操作が完了したときにこのメッセージを送るべきです。例えば、タスクバーアイコンにショートカットメニューを表示して、ユーザーが ESC キーを押してキャンセルしたときに、このメッセージを送信してフォーカスをタスクバー通知エリアに返すべきです。 |
0x00000004 (NIM_SETVERSION) | Version 5.00 以降: pnid パラメータで指定される NOTIFYICONDATA 構造体の uVersion メンバで指定されるバージョンに従って振舞うようにタスクバーに指定します。このメンバのデフォルト値は 0 であり、原型の Windows 95 の通知アイコンにおける振舞いになります。 |
必要な情報を格納した NOTIFYICONDATA 構造体のアドレスを指定します。構造体の内容は dwMessage パラメータに依存します。
関数が成功すると 1 (TRUE) が返ります。それ以外の場合には 0 (FALSE) が返ります。
dwMessage パラメータに NIM_SETVERSION を指定した場合には、バージョンがうまく変更されると 1 (TRUE) が返ります。指定されたバージョンがサポートされていない場合には 0 (FALSE) が返ります。
Windows 2000/Me 以降にあるバージョン 5.0 以降のシェルでは、 Shell_NotifyIcon 関数によるマウスおよびキーボードイベントの扱いが Windows 95/98/NT 4.0 にある従来のシェルとは異なります。
ユーザーが通知アイコンのショートカットメニューをキーボードで選択した場合に、バージョン 5.0 のシェルでは、関連付けられているアプリケーションに WM_CONTEXTMENU メッセージが送られます。従来のシェルでは、 WM_RBUTTONDOWN および WM_RBUTTONUP メッセージが送られます。
ユーザーが通知アイコンをマウスで選択してスペースバーまたは Enter キーでアクティブにした場合に、バージョン 5.0 のシェルでは、関連付けられているアプリケーションに NIN_KEYSELECT 通知が送られます。従来のシェルでは、 WM_RBUTTONDOWN および WM_RBUTTONUP メッセージが送られます。
ユーザーが通知アイコンをキーボードで選択して Enter キーでアクティブにした場合に、バージョン 5.0 のシェルでは、関連付けられているアプリケーションに NIN_SELECT 通知が送られます。従来のシェルでは、 WM_RBUTTONDOWN および WM_RBUTTONUP メッセージが送られます。
バルーンツールチップが関連付けられているアイコン上でユーザーがマウスポインタを通過させた場合に、バージョン 5.0 のシェルでは、関連付けられているアプリケーションに以下の通知が送られます。
dwMessage パラメータに NIM_SETVERSION を指定してこの関数を呼び出すことで、どちらの振舞いをするかを選択することができます。
Shell32.dll Version 4.00 以降
Windows 95 以降 / Windows NT 4.0 以降