BroadcastSystemMessage是將一條系統訊息廣播給系統中所有的頂級視窗。
基本介紹
- 外文名:BroadcastSystemMessage
- 含義:傳送任務不接收訊息
- 屬於:系統訊息廣播給系統中頂級視窗
- 函式功能:該函式傳送訊息給指定的接受者
VB中聲明,中聲明,
VB中聲明
Declare Function BroadcastSystemMessage Lib "user32" (ByVal dw As Long, pdw As Long, ByVal un As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
[參數表]
dw ------------- Long,下述常數的一個或多個
BSF_FLUSHDISK
每次處理完一條訊息後,都對磁碟進行刷新(將未存檔的數據存下來
BSF_FORCEIFHUNG
如目標處於掛起狀態,則在設定的逾時後到期返回
BSF_IGNORECURRENTTASK
傳送任務不接收訊息
BSF_LPARAMBUFFER
pdw ------------ Long,下述常數的一個或多個
BSF_ALLCOMPONENTS
訊息進入能夠接收訊息的每一個系統組件
BSF_APPLICATIONS
訊息到達應用程式
BSF_INSTALLABLEDRIVERS
訊息到達可安裝的驅動程式
BSF_NETDRIVERS
訊息到達網路驅動程式
BSF_VXDS
訊息到達系統設備驅動程式
un ------------- Long,訊息編號
wParam --------- Long,由訊息決定
lParam
Long,由訊息決定。如指定了BSF_LPARAMBUFFER,這就是位於調用進程地址空間的一個記憶體緩衝區的地址,而且緩衝區的第一個16位字包含了緩衝區的長度
lParam指向一個記憶體緩衝區 - BSF_NOHANG
跳過被掛起的所有進程
BSF_POSTMESSAGE
投遞訊息。不與BSF_LPARAMBUFFER和BSF_QUERY兼容
BSF_QUERY
將訊息順序發給進程,只有前一個返回TRUE時,才進入下一個進程
[返回值]
Long,大於零表示成功;-1表示出錯。如設定了BSF_QUERY,而且至少有一個訊息接收者返回零,那么這個函式返回零
中聲明
函式功能:
函式原型:long BroadcastSystemMessage(DWORD dwFIags,LPDWORD IpdwRecipients,UINT UiMessage,WPARAMwParam,LPARAM IParam);
參數: dwFlags:選項標誌。可取下列值的組合:
BSF_FLUSHDISK:接受者處理訊息之後清洗磁碟。
BSF_FORCEIFHUNG:繼續廣播訊息,即使逾時周期結束或一個接受者已掛起。 BSF_IGNORECURRENTTASK:不傳送訊息給屬於當前任務的視窗。這樣,應用程式就不會接收自己的訊息。
BSF_NOHANG:強制掛起的應用程式逾時。如果一個接受者逾時,不再繼續廣播訊息。 BSF_NOTIMEOUTIFNOTHUNG:只要接受者沒掛起,一直等待對訊息的回響。不會出現逾時。 BSF_POSTMESSAGE:寄送訊息。不能和BSF_QUERY組合使用。
BSF_QUERY:每次傳送訊息給一個接受者,只有當前接受者返回TRUE後,才能傳送給下一個接受者。 lpdwRecipients:指向變數的指針,該變數含有和接收訊息接受者的信息。此變數可為下列值的組合: BSM_ALLCOMPONENTS:廣播到所有的系統組件。
BSM_ALLDESKTOPS:Windows NT下,廣播到所有的桌面。要求SE_TCB_NAME特權。
BSM_APPLICATIONS:廣播到應用程式。
BSM_INSTALLABLEDRIVERS:Windows 95下,廣播到安裝驅動器。
BSM_INTDRIVER:Windows 95下,廣播到網路驅動器。
BSM_VXDS:Windows 95下,廣播到所有系統級設備驅動器。
當函式返回時,此變數接受上述值的組合,以確定真正接受訊息的接受者。如果此參數為NULL,則將訊息廣播到所有的組件。
uiMessage:系統訊息標識符。
WParam:32位訊息特定值。
IParam:32位訊息特定值。
返回值:如果函式調用成功,返回值是正數。如果函式不能廣播訊息,返回值是C1。如果參數dwFlags為BSF_QUERY且至少一個接受者返回BROADCAST_QUERY_DENY給相應的訊息,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函式。 備註:如果BSF_QUERY沒指定,函式傳送指定的訊息給所有請求的接受者,並忽略這些接受者返回的值。 速查:Windows NT:4.0及以上版本:Windows:95及以上版本;Windows CE:不支持;頭檔案:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。