ITPub博客

首页 > 应用开发 > IT综合 > 消息和消息队列(四)

消息和消息队列(四)

原创 IT综合 作者:chenjinfeng 时间:2007-07-23 16:00:58 0 删除 编辑

Functions

BroadcastSystemMessage

BroadcastSystemMessage函数send消息给指定的接收者。接收者可以是应用程序,可安装的驱动程序,网络驱动程序,系统级设备驱动程序,或这些组件的任意组合。

欲接收请求者定义的附加信息,使用BroadcastSystemMessageEx函数。

BroadcastSystemMessageEx

BroadcastSystemMessageEx函数send消息给指定的接收者。接收者可以是应用程序,可安装的驱动程序,网络驱动程序,系统级设备驱动程序,或这些组件的任何组合。

这个函数和BroadcastSystemMessage函数近似,不同之处是这个函数可以从接收者返回更多信息。

DispatchMessage

DispatchMessage函数分派一个消息给窗口过程,它通常分派由GetMessage函数取得的一个消息。

GetInputState

GetInputState函数判断在调用者的线程消息队列中是否有鼠标或键盘消息。

GetMessage

GetMessage函数从调用者的消息队列取得消息。函数分派进入的被send的消息,直到检索到一个被post的消息。

与GetMessage不同,PeekMessage函数在返回前不会等待消息被post到队列。

GetMessageExtraInfo

GetMessageExtraInfo函数为当前线程取得额外的消息信息。额外的消息信息应用程序或驱动定义的与当前线程消息队列相关的值。

GetMessagePos

GetMessagePost函数取得GetMessage取得的最后一个消息的光标位置。

要得到当前的光标位置,使用GetCursorPos函数。

GetMessageTime

GetMessageTime函数取得GetMessage取得的最后一个消息的消息时间。这个时间是一个长整型,是自系统启动以来至消息被放到消息队列时所经过的时间,单位是毫秒。

GetQueueStatus

GetQueueStatus用户检查调用者线程消息队列中的消息类型。

InSendMessage

InSendMessage函数用户判断是否窗口过程正在处理的消息是否由SendMessage函数发自另外一个线程(同一个进程中或不同的进程)。

要得到消息如何被send的额外信息,使用InSendMessageEx函数。

InSendMessageEx

InSendMessageEx函数用于判断是否窗口过程正在处理的消息是否由SendMessage函数发自另外一个线程(同一个进程中或不同的进程)。

PeekMessage

PeekMessage函数分派进入的send消息,检查post消息的线程消息队列,并取得消息。

PostMessage

PostMessage函数放置(post)消息到消息队列,它不等待消息被处理完就立刻返回。

要post消息到某个线程的消息队列,使用PostThreadMessage函数。

PostQuitMessage

PostQuitMessage函数告诉系统当前线程发出了终止的请求。它通常被用来作为对WM_DESTROY的响应。

PostThreadMessage

PostThreadMessage函数post消息给指定线程的消息队列。它也是不等消息被处理就返回。

RegisterWindowMessage

RegisterWindowMessage函数定义一个在系统中唯一的消息标识符,此消息通过send或post方式都可以发送。

ReplyMessage

ReplyMessage函数被用来对SendMessage发送的消息作出应答,并且不用将控制交回给调用SendMessage的函数。

SendAsyncProc

SendAsyncProc函数是应用程序定义的回调函数,与SendMessageCallback函数一起使用。在消息传递给目标窗口过程后,系统传递消息给回调函数。SENDASYNCPROC类型定义一个指向回调函数的指针。SendAsyncProc是一个应用程序定义的函数名称的占位符。

SendMessage

SendMessage函数send指定的消息给一个或多个窗口,它调用窗口过程,并等窗口过程处理消息结束后才会返回。

要send一个消息并立刻返回,使用SendMessageCallback 或 SendNotifyMessage函数。要post消息给线程的消息队列并立刻返回,使用PostMessage 或 PostThreadMessage函数。

SendMessageCallback

SendMessageCallback函数send指定消息给一个或多个窗口。它调用窗口过程并立刻返回,当窗口过程处理完消息之后,系统调用指定的回调函数,传递消息处理的结果和一个应用程序定义的值给回调函数。

SendMessageTimeout

Send指定的消息给一个或多个窗口并不立刻返回,除非消息处理完或指定的超时时间已到。

SendNotifyMessage

SendNotifyMessage函数send指定的消息给一个或多个窗口,如果窗口由调用线程创建则SendNotifyMessage调用窗口过程并等待消息处理结束之后再返回。如果窗口由其它线程创建,SendNotifyMessage传递消息给窗口过程并立即返回。

SetMessageExtraInfo

SetMessageExtraInfo函数设置消息的额外信息。额外信息是一个应用程序或驱动定义的与当前线程消息队列有关的值。应用程序可以使用GetMessageExtraInfo函数取得线程额外的消息信息。

TranslateMessage

TranslateMessage函数转换虚拟键消息为字符消息。字符消息被post到调用线程的消息队列,并将在GetMessage或PeekMessage函数下次调用的时候被取到。

WaitMessage

当消息队列中没有消息的时候,WaitMessage函数会导致当前线程放弃控制权。WaitMessage函数挂起当前的线程,但并不返回,直到线程队列中有了新消息的时候。

Notifications

OCM__BASE

OCM__BASE常量帮助定义应用程序的私有窗口类的私有消息。通常用OCM__BASE+X的形式定义,X是一个整数值。

注意:与WM_APP 和 WM_USER不同, OCM__BASE 在Olectl.h中定义。

WM_APP

WM_APP常量由应用程序使用来定义私有消息,使用形式是WM_APP+X,X是一个整数值。

WM_QUIT

WM_QUIT消息表明了结束应用程序的请求,并在应用程序调用PostQuitMessage函数的时候产生。它导致GetMessage函数返回0。

WM_USER

WM_USER常量由应用程序使用来帮助定义私有窗口类的私有消息,使用形式是WM_USER+X,X是一个整数值。

Structures

BSMINFO

BSMINFO结构包含关于了一个拒绝BroadcastSystemMessageEx的请求的窗口的消息。

MSG

MSG结构包含来自消息队列的消息信息。

标签: WINDOWS
[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/777154/viewspace-927535/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 红外与蓝牙比较
请登录后发表评论 登录
全部评论
  • 博文量
    25
  • 访问量
    628071