メッセージを指定の受け手に送る
Declare Function BroadcastSystemMessage Lib "user32.dll" _
(ByVal dwFlags As Long, ByVal lpdwRecipients As Long, _
ByVal uiMessage As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function BroadcastSystemMessage Lib "user32.dll" _
(ByVal dwFlags As Integer, ByVal lpdwRecipients As Integer, _
ByVal uiMessage As Integer, ByVal wParam As Integer, _
ByVal lParam As Integer) As Integer
long BroadcastSystemMessage(
DWORD dwFlags,
LPDWORD lpdwRecipients,
UINT uiMessage,
WPARAM wParam,
LPARAM lParam
);
引数
dwFlags
動作方法を指定する定数の組み合わせlpdwRecipients
メッセージの受け手を指定する定数の組み合わせuiMessage
メッセージのIDwParam
メッセージの32ビット値lParam
メッセージの32ビット値戻り値
正常終了のとき 正数備考
エラーのとき -1
dwFlags = BSF_QUERYで、メッセージの受け手の1つが
BROADCAST_QUERT_DENY(=&H424D5144)を返したとき0
dwFlagsにBSF_QUERYを設定しないとき、メッセージは全ての受け手にdwFlagsの定数
戻り値を確認しないで送る。全てのアプリケーションに送るときはlpdwRecipientsに
BSM_APPLICATIONSを設定する。
lpdwRecipientsの定数
BSF_FLUSHDISK = &H4 メッセージ処理後、ディスをフラッシュ
BSF_FORCEIFHUNG = &H20 タイムアウトまたは受信ウィンドウの1つが
ハングしてもメッセージを送りつつける
BSF_IGNORECURRENTTASK = &H2 カレントタスクウィンドウへはメッセージを送らない
BSF_NOHANG = &H8 1つでもタイムアウトになったらメッセージを送らない
BSF_NOTIMEOUTIFNOTHENG = &H40 ハングしない限り、メッセージの応答を待つ
BSF_POSTMESSAGE = &H10 メッセージを実際に発行する
(BSF_QUERYと組み合わせない)
BSF_QUERY = &H1 1つの受け手が1を返すことを確認してから
次の受け手にメッセージを送る
BSM_ALLCOMPONENTS = &H0 全てのシステムコンポーネント
BSM_ALLDESKTOPS = &H10 (WindowsNTのみ)全てのデスクトップウィンドウ
BSM_APPLICATIONS = &H8 アプリケーション
BSM_INSTALLBLEDRIVERS = &H4 インストール可能なドライバ
BSM_NETDRIVER = &H2 ネットワークドライバ
BSM_VXDS = &H1 デバイスドライバ