NOTIFYICONDATA

タスクバーのステータスエリアへのメッセージをシステムが処理するのに必要となる情報が格納されます。この構造体は Shell_NotifyIcon 関数で使用されます。

typedef struct _NOTIFYICONDATA { 
    DWORD  cbSize; 
    HWND   hWnd; 
    UINT   uID; 
    UINT   uFlags; 
    UINT   uCallbackMessage; 
    HICON  hIcon; 
#if (_WIN32_IE < 0x0500)
    TCHAR  szTip[64];
#else
    TCHAR  szTip[128];
#endif
#if (_WIN32_IE >= 0x0500)
    DWORD  dwState;
    DWORD  dwStateMask;
    TCHAR  szInfo[256];
    union {
        UINT  uTimeout;
        UINT  uVersion;
    } DUMMYUNIONNAME;
    TCHAR  szInfoTitle[64];
    DWORD  dwInfoFlags;
#endif
#if (_WIN32_IE >= 0x600)
    GUID   guidItem;
#endif
} NOTIFYICONDATA, *PNOTIFYICONDATA;

(_WIN32_IE >= 0x0500) は Shell32.dll Version 5.00 以降( Windows Me/2000 以降)、(_WIN32_IE >= 0x600) は Shell32.dll Version 6.00 以降( Windows XP 以降)で有効

メンバ

cbSize

この構造体のサイズをバイト単位で指定します。 ANSI 版では 88 を指定します。

Version 5.0 以降: 拡張されたメンバを使用するには、 ANSI 版では 488 を指定します。

Version 6.0 以降: 拡張されたメンバを使用するには、 ANSI 版では 504 を指定します。

hWnd

タスクバーのステータスエリアに表示されるアイコンに関連付けられる、通知メッセージを受け取るウィンドウのハンドルを指定します。

uID

タスクバーのアイコンを識別するためのアプリケーション定義の ID を指定します。

uFlags

この構造体のどのメンバが有効かを示すフラグを指定します。以下の値の組み合わせを指定します。

有効なメンバ
0x00000001 (NIF_MESSAGE) uCallbackMessage
0x00000002 (NIF_ICON) hIcon
0x00000004 (NIF_TIP) szTip
0x00000008 (NIF_STATE) Version 5.0 以降: dwState, dwStateMask
0x00000010 (NIF_INFO) Version 5.0 以降: szInfo, uTimeout, szInfoTitle, dwInfoFlags
0x00000020 (NIF_GUID) Version 6.0 以降: 予約されています。
uCallbackMessage

アプリケーション定義のメッセージコードを指定します。アイコン上でマウスイベントが起こった場合に、 hWnd メンバで指定したウィンドウにこのメッセージが送られます。この通知は、アイコン上でマウスイベントが発生するか、キーボードによってアイコンが選択またはアクティブかされたときに送られます。メッセージの wParam パラメータには、マウスイベントが発生したタスクバーアイコンの ID です。 lParam パラメータには、発生したイベントに関連するマウスまたはキーボードのメッセージコードです。

hIcon

追加や変更や削除されるアイコンのハンドルを指定します。

szTip

標準ツールチップに表示するテキストのヌル終端文字列を格納します。文字列の最大サイズは、終端ヌル文字を含めて 64 バイト(Unicode 版の場合は 64 文字)です。

Version 5.0 以降: 終端ヌル文字を含めて 128 バイト(Unicode 版の場合は 128 文字)までの文字列を指定することができます。

dwState

Version 5.0 以降: アイコンの状態が格納されます。 0 または以下の値の組み合わせです。

有効なメンバ
0x00000001 (NIS_HIDDEN)

アイコンは非表示です。

0x00000002 (NIS_SHAREDICON)

アイコンは共有されます。

dwStateMask

Version 5.0 以降: dwState メンバでどの状態を取得または設定するのかを指定します。 dwState メンバの値に対して、このメンバで指定された状態のみが反映されます。

szInfo

Version 5.0 以降: バルーンツールチップに表示するテキストのヌル終端文字列を格納します。文字列の最大サイズは 255 バイト(Unicode 版の場合は 255 文字)です。バルーンツールチップを削除するには、 uFlags メンバに NIF_INFO を指定して、szInfo メンバに空文字列を指定します。

uTimeout

Version 5.0 以降: バルーンツールチップのタイムアウト時間をミリ秒単位で指定します。システムはタイムアウト値の最小値および最大値を持っており、このメンバに指定された値が小さすぎる場合は最小値に、大きすぎる場合は最大値に設定されます。通常は、最小値が 10 秒、最大値は 30 秒に設定されています。

uVersion

Version 5.0 以降: シェル通知アイコンのインターフェースに Windows 95 と Windows 2000 のどちらの振舞いをするかを指定します。このメンバはShell_NotifyIcon 関数で NIM_VERSION メッセージを送る場合にのみ使用されます。

意味
0

Windows 95 のように振舞います。

3 (NOTIFYICON_VERSION)

Windows 2000 のように振舞います。

szTitleInfo

Version 5.0 以降: バルーンツールチップのタイトルを表すヌル終端文字列を格納します。文字列の最大サイズは 64 バイト(Unicode 版の場合は 64 文字)です。

dwInfoFlags

Version 5.0 以降: バルーンツールチップにアイコンを表示するように設定するためのフラグです。アイコンはタイトルの左側に表示されます。 szTitleInfo メンバがから文字列である場合にはアイコンは表示されません。以下の値のいずれかを指定します。

表示されるアイコン
0x00000000 (NIIF_NONE) アイコンなし
0x00000001 (NIIF_INFO) 「情報」アイコン
0x00000002 (NIIF_WARNING) 「警告」アイコン
0x00000003 (NIIF_ERROR) 「エラー」アイコン
0x0000000F (NIIF_ICON_MASK) Version 6.0 以降: 予約されています。
0x00000010 (NIIF_NOSOUND)

Version 6.0 以降: 関連サウンドを鳴らさないようにします。バルーンツールチップにのみ適用されます。

guidItem

Version 6.0 以降: 予約されています。

解説

uFlags メンバに NIF_INFO フラグを指定した場合、標準ツールチップはバルーンツールチップに置き換えられます。

タスクバーでは同時に複数のバルーンツールチップは表示されません。既にバルーンツールチップが表示されている状態で、バルーンツールチップを表示させようとした場合、少なくともシステム最小タイムアウト時間だけ前のバルーンツールチップが表示されるまでは次のバルーンツールチップは表示されません。

対応情報

Shell32.dll Version 4.0 以降

Windows 95 以降 / Windows NT 4.0 以降

変数との対応 (ANSI 版の場合)

Shell32.dll Version 4.72 以前

HSP 変数 メンバ
メンバ名 オフセット サイズ
nid.0 cbSize ( = 88 ) 0 4
nid.1 hWnd 4 4
nid.2 uID 8 4
nid.3 uFlags 12 4
nid.4 uCallbackMessage 16 4
nid.5 hIcon 20 4
nid.6 szTip 24 64
nid.21

Shell32.dll Version 5.0 / 6.0 以降

HSP 変数 メンバ
メンバ名 オフセット サイズ
nid.0 cbSize ( = 504 ) 0 4
nid.1 hWnd 4 4
nid.2 uID 8 4
nid.3 uFlags 12 4
nid.4 uCallbackMessage 16 4
nid.5 hIcon 20 4
nid.6 szTip 24 128
nid.37
nid.38 dwState 152 4
nid.39 dwStateMask 156 4
nid.40 szInfo 160 256
nid.103
nid.104 uTimeout / uVersion 416 4
nid.105 szInfoTitle 420 64
nid.120
nid.121 dwInfoFlags 484 4
nid.122 guidItem 488 16
nid.125