broadcastSystemMessage 函数 (winuser.h)
向指定的收件人发送邮件。 接收者可以是应用程序、可安装的驱动程序、网络驱动程序、系统级设备驱动程序或这些系统组件的任意组合。
若要在定义请求时接收其他信息,请使用 BroadcastSystemMessageEx 函数。
语法
long BroadcastSystemMessage(
[in] DWORD flags,
[in, out, optional] LPDWORD lpInfo,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
parameters
[in] flags
类型:DWORD
广播选项。 此参数可使用以下一个或多个值。
值 | 含义 |
---|---|
|
使收件人能够在处理消息时设置前台窗口。 |
|
在每个收件人处理邮件后刷新磁盘。 |
|
继续广播消息,即使超时期限已过或其中一个收件人没有响应。 |
|
不将消息发送到属于当前任务的窗口。 这会阻止应用程序接收其自己的消息。 |
|
强制无响应应用程序超时。如果其中一个收件人超时,请不要继续广播邮件。 |
|
等待对邮件的响应,只要收件人没有响应。 不超时。 |
|
发布消息。 不要与 BSF_QUERY 结合使用。 |
|
一次向一个收件人发送邮件,仅当当前收件人返回 TRUE 时,才会向后续收件人发送邮件。 |
|
使用 SendNotifyMessage 函数发送消息。 不要与 BSF_QUERY 结合使用。 |
[in, out, optional] lpInfo
类型: LPDWORD
指向变量的指针,该变量包含并接收有关邮件收件人的信息。
当函数返回时,此变量接收这些值的组合,用于标识哪些收件人实际收到了消息。
如果此参数为 NULL,则该函数将广播到所有组件。
此参数可使用以下一个或多个值。
值 | 含义 |
---|---|
|
广播到所有系统组件。 |
|
广播到所有桌面。 需要 SE_TCB_NAME 特权。 |
|
广播到应用程序。 |
[in] Msg
类型: UINT
要发送的消息。
有关系统提供的消息的列表,请参阅 系统定义的消息。
[in] wParam
类型: WPARAM
其他的消息特定信息。
[in] lParam
类型: LPARAM
其他的消息特定信息。
返回值
类型: long
如果函数成功,则返回值为正值。
如果函数无法广播消息,则返回值为 –1。
如果 dwFlags 参数 BSF_QUERY 并且至少有一个收件人 BROADCAST_QUERY_DENY 返回给相应邮件,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
如果未指定 BSF_QUERY ,该函数会将指定的消息发送给所有请求的收件人,并忽略这些收件人返回的值。
系统仅对系统消息执行封送处理, (范围为 0 到 (WM_USER-1) ) 。 若要将其他消息 (那些 >= WM_USER) 发送到另一个进程,必须执行自定义封送处理。
示例
有关示例,请参阅 终止进程。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
请参阅
概念性
引用