SHAppBarMessage
機能
アプリケーションバーのメッセージをシステムに送る
Declare Function SHAppBarMessage Lib "shell32.dll" _
(ByVal dwMessage As Long, pData As APPBARDATA) As Long
Declare Function SHAppBarMessage Lib "shell32.dll" _
(ByVal dwMessage As Integer, pData As APPBARDATA) As Integer
引数
dwMessage
システムに送るメッセージのIDの定数
pData
データを格納するAPPBARDATA構造体
サンプル
ダウンロード(SHAppBarMessage.lzh 2.88KB)
dwMessageの定数
ABM_ACTIVATE = &H6 アプリケーションバーがアクティブになった
ユーザー定義のアプリケーションバーが
WM_ACTIVEを受け取ったとき、システムに通知する
APPBARDATA構造体のcbSizeとhWndメンバを
設定しておかなければならない。
ただし「自動的に隠す」に設定してる場合
このメッセージは無効となる。
戻り値は常に1である。
ABM_GETAUTOHIDEBAR = &H7 自動表示のアプリケーションバーのハンドルを取得する
(取得したハンドルは戻り値として戻る)
ユーザー定義のアプリケーションバーの場合
cbSize,hWnd,uEdgeの各メンバを設定しておかなければいけない。
タスクバーの場合は、uEdgeだけでよい。
ABM_GETSTATE = &H4 自動的に隠す、常に手前に表示のどちらに設定されているか調べる
ユーザー定義のアプリケーションバーの場合
cbSize, hWndの各メンバを設定しておかなければいけない。
ユーザーが設定を変更したとき
WindowsはABN_STATECHANGE(=0)を発行する。
戻り値は以下の定数の組み合わせ
--------------------------------------------------
0 デフォルト(指定されていない)
ABS_AUTOHIDE &H1 自動的に隠す
ABS_ALWAYSONTOP &H2 常に手前に表示
--------------------------------------------------
ABM_GETTASKBARPOS = &H5 アプリケーションバーの位置とサイズを調べる
ユーザー定義のアプリケーションバーの場合
cbSize,hWnd,uEdgeの各メンバを設定しておかなければいけない。
戻り値は正常終了のとき1、 エラーのとき 0
APPBARDATA構造体のrcメンバに座標値が戻る
ABM_NEW = &H0 ユーザー定義のアプリケーションバーを登録し
システムがアプリケーションバーに送るメッセージIDを指定する。
APPBARDATA構造体のcbSize,hWnd,uCallbackMessageの各メンバの
設定をしておかなければいけない。
戻り値は正常終了のとき1、 エラーのとき 0
ABM_QUERYPOS = &H2 ABM_SETPOSを実行する前に、新しいアプリケーションバー
のための位置とサイズの良否を問い合わせる。
APPBARDATA構造体のcbSize,hWnd,uEdge,rcの各メンバを
設定しておかなければいけない。
戻り値は常に1で、rcメンバに指定可能な位置とサイズを返す。
ABM_REMOVE = &H1 追加したアプリケーションバーの登録を抹消し
システムが保持するリストから削除する。
APPBARDATA構造体のcbSize,hWndの各メンバを設定しておかなければいけない。
このメッセージを実行すると
Windowsは全てのアプリケーションにABN_POSCHANGED(=1)を送る。
ABM_SETAUTOHIDEBAR = &H8 自動非表示アプリケーションバーを登録を抹消する。
「自動的に隠す」に設定できるアプリケーションバーは
各辺ごとに一つである。
APPBARDATA構造体のcbSize,hWnd,uEdge,lParamの各メンバを
設定しておかなければならない。
lParamは「自動的に隠す」に設定するとき1
設定を解除するときは0を指定する。
なおこのメッセージはタスクバーに対しては無効である。
ABM_SETPOS = &H3 アプリケーションバーの位置とサイズを設定する。
APPBARDATA構造体のcbSize,hWnd,uEdge,rcの各メンバを
設定しておかなければいけない。
なおこのメッセージはタスクバーに対しては効果がない。
ABM_WINDOWPOSCHANGED = &H9 アプリケーションバーの位置を変更したことをシステムに通知する。
ユーザー定義のアプリケーションバーがWM_WINDOWPOSCHANGEDを
受け取ったとき、システムに通知する。
そのときAPPBARDATA構造体のcbSizeとhWndメンバを設定しておかなければいけない。
戻り値は常に1である。