关闭

c++中消息函数(1)

2625人阅读 评论(0) 收藏 举报

下面列出来c++中的消息函数,分别进行介绍:

l      BroadcastSystemMessage

此函数发送消息给指定的接收者,接收者可以是应用程序、可安装的驱动、网络驱动、系统级别的设备驱动或者任何系统部件的组合。

longBroadcastSystemMessage(

  DWORD dwFlags,           // broadcast option

  LPDWORD lpdwRecipients,  // recipients

  UINT uiMessage,          // message

  WPARAM wParam,           // first message parameter

  LPARAM lParam            // second message parameter

);

dwFlags:

       指定广播的选项,这个参数可以是下面一个或者多个值。

      

解释

BFS_ALLOWSFW

Windows2000:当处理消息时,可以让接收者设置窗体的前景色。

BFS_FLUSHDISK

在每个接受者处理消息后刷新磁盘、

BFS_FORCEIFHUNG

继续广播消息,即使超时或者一个接收者被挂起

BSF_IGNORECURRENTTASK

不发送消息到属于当前任务的窗口,这样可以阻止应用接收自己的消息。

BSF_NOHANG

迫使一个挂起应用超时,如果其中的一个接收者超时,不再广播消息。

BSF_NOTIMEOUTIFNOHUNG

等待消息的响应,只要接收者没挂起,就不会超时。

BSF_POSTMESSAGE

发送一个消息,不要和BSF_QUERY一同使用。

BSF_QUERY

一次发送消息给一位接收者,只有当现在的接收者返回TRUE时,才发送消息给下一位接收者。

BSF_SENDNOTIFYMESSAGE

Windows2000:用SendNotifyMessage函数发送消息,不和BSF_QUERY一同使用。

 

lpdwRecipients

       指向包含和接收关于消息接收者信息的变量。这个参数可以是下面一个或者多个值。

解释

BSM_ALLCOMPONENTS

广播给所以的系统组件

BSM_ALLDESKTOPS

Windows NT/2000:…

BSM_APPLICATIONS

广播给应用

BSM_INSTALLABLEDRIVERS

Windows 95/98:。。。

BSM_NETDRIVER

Windows 95/98:。。。

BSM_VXDS

Windows 95/98:。。。

当函数返回,这个变量接收一个以上复合值指示实际上接收消息接收者。

如果此参数为NULL,函数广播给所以的组件。

uiMessage

       指定需要发送的消息。

wParam

       消息指定的额外信息。

lParam           

       消息指定的额外信息。

返回值

       如果函数返回成功,返回值是个负值。

       如果函数不能广播消息,返回值为-1。

       如果dwFlags参数是BSF_QUERY,至少一个接收者针对相应的消息返回BROADCAST_QUERY_DENY,返回值为0。可以通过调研GetLastError函数获得详细的信息。

说明

       如果没有指定BSF_QUERY,函数发送指定的消息到所有请求的接收者,这些接收者返回的值将不会被处理。

 

l      BroadcastSystemMessageEx

 

BroadcastSystemMessage函数的扩展,这个函数可以从接收者返回更多的信息。

long WINAPI BroadcastSystemMessageEx(

 __in         DWORD dwFlags,

 __inout_opt  LPDWORD lpdwRecipients,

 __in         UINT uiMessage,

 __in         WPARAM wParam,

 __in         LPARAM lParam,

 __out_opt    PBSMINFO pBSMInfo

);

pBSMInfo [out, optional]

       指向BSMINFO结构体,如果请求被拒绝并且dwFlag设置为BSF_QUERY这个结构体会包括额外的信息。

 

l      DispatchMessage

此函数发送消息给窗体程序,通常用GetMessage函数接收此函数发送的消息。

LRESULT DispatchMessage(

  CONSTMSG *lpmsg   // message information

);

lpmsg 

       指向包含消息的MSG结构体的指针。

返回值

       返回值由窗体程序返回的值,尽管返回值的含义依赖于被调度的消息,但返回值通常被忽略。

说明

       MSG结构体必须包含合法的消息值,如果lpMsg参数指向WM_TIMER消息并且WM_TIMER消息参数lParam不为NULL,则调用IParam指向的函数,而不是调用窗口程序。

 

l      GetInputState

此函数决定在线程消息队列中,是否有鼠标点击或者键盘消息。

BOOL GetInputState(VOID);

 

返回值

如果队列中包含一个或者多个新的鼠标点击或者键盘消息,返回非0.

如果没有新的鼠标点击或者键盘消息,返回0。

 

0
0

猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:997082次
    • 积分:9416
    • 等级:
    • 排名:第1903名
    • 原创:148篇
    • 转载:19篇
    • 译文:8篇
    • 评论:99条
    最新评论