BroadcastSystemMessage

機能
メッセージを指定の受け手に送る
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
メッセージのID
wParam
メッセージの32ビット値
lParam
メッセージの32ビット値
戻り値
正常終了のとき  正数
エラーのとき  -1
dwFlags = BSF_QUERYで、メッセージの受け手の1つが
BROADCAST_QUERT_DENY(=&H424D5144)を返したとき0
備考
dwFlagsにBSF_QUERYを設定しないとき、メッセージは全ての受け手に
戻り値を確認しないで送る。全てのアプリケーションに送るときはlpdwRecipientsに
BSM_APPLICATIONSを設定する。
dwFlagsの定数

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を返すことを確認してから
                                次の受け手にメッセージを送る
lpdwRecipientsの定数

BSM_ALLCOMPONENTS = &H0        全てのシステムコンポーネント
BSM_ALLDESKTOPS = &H10         (WindowsNTのみ)全てのデスクトップウィンドウ
BSM_APPLICATIONS = &H8         アプリケーション
BSM_INSTALLBLEDRIVERS = &H4    インストール可能なドライバ
BSM_NETDRIVER = &H2            ネットワークドライバ
BSM_VXDS = &H1                 デバイスドライバ