一、消息处理
1.1发送消息
SendMessage
//此函数给一个或多个窗口发送一条消息。函数SendMessage直到消息被处理完毕后才返回
SendMessageCallback
//该函数向指定的一个或多个窗口发送指定的消息。函数为指定的消息调用窗口处理消息的代码段,当此窗口处理完消息以后,系统将调用该函数指定的回调函数,同时该消息的处理结果和一个用户定义的参数传递给此回调函数
SendNotifyMessage
//这个API函数给句柄HWND相联系的窗口过程发送一条消息。这个窗口过程在一个创建了句柄HWND的线程环境中运行
SendMessageTimeout
//该函数将向指定的一个或多个窗口发送指定的消息。函数将为该消息调用窗口处理消息的代码段,如果该窗口属于一个不同的线程,则它将直到消息被处理货定时到期才返回,如果窗口属于同一个线程,则函数将直接调用窗口的消息处理代码段,定时返回被忽略。
PostThreadMessage
//该函数向一个线程邮寄一条消息,它不等待该线程处理消息就立即返回。
PostMessage
//该函数把一条消息放置到创建HWND窗口的线程的消息队列中。函数不等待消息被处理就马上将控制返回。
PostQuitMessage
//该函数通知windows有一个线程想要结束运行,该函数一般用来响应WM_DESTROY消息。
BroadcastSystemMessage
//函数向指定的接收者发送一个消息。这些接受者可以是应用程序、可安装的驱动程序、网络驱动程序、系统级的设备驱动程序和他们的任意组合。
ReplyMessage
//此函数被用来对通过SendMessage发送来的消息做出响应,但是并不将控制权交还给调用SendMessage的函数。
RegisterWindowMessage
//此功能定义了被保证是在整个系统中是唯一的新窗口的消息。返回的消息值可以调用SendMessage函数或PostMessage的功能时使用。
//获取消息函数
GetMessage
//该函数仅获取与HWND参数所指定的窗口相关的且wMsgFilterMin和wMsgFilterMax参数所给出的消息值范围内的消息。
WaitMessage
//当一个应用程序无其他任务可作时,该函数将控制权交给另外的应用程序。函数WaitMessage将该应用程序挂起,直到一个新的消息被放到应用程序队列之中才返回。
PeekMessage
//该函数查看应用程序的消息队列,如果其中有消息就将其放入lpMsg所指的结构中,与GetMessage函数不同,PeekMessae函数不会等到有消息放入队列时才返回
//处理消息函数
TranslateMessage
该函数按照下列方式将虚拟键消息转换成字符消息:
WM_KEYDOWN与WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。
WM_SYSKEYDOWN与WM_SYSKEYUP组合产生一个WM_SYSCHAR与WM_SYSDEADCHAR消息
字符消息被发送给应用程序消息队列,为了获取该消息,应用程序可调用GetMessage或PeekMessage。
DispatchMessage
GetQueueStatus
该函数返回提示位这些提示位用户判断消息队列中是否有感兴趣的输入以及是否应该调用GetMerssage或PeekMessage函数来获取。该函数可用于快速检查在消息队列中是否存在某类消息。
通常该函数是为速度要求严格的循环内部使用而设计的,用来判断是否有应该用GetMessage或PeekMessage函数来获取感兴趣的消息。GetQueueStatus返回两组信息:自从上一次调用GetQueueStatus、GetMessage或PeekMessage后,是否有新消息加到队列中,以及当前有那类事件在队列中。
GetInputState
该函数确定在当前线程的消息队列中是否有要处理的鼠标、键盘消息。事件是描述硬件级输入的一个记录,鼠标事件发生在用户按下一个或多个键时。
消息处理
最新推荐文章于 2020-07-15 22:42:35 发布