首页 > 代码库 > SCADA 必备函数之 :关于消息的函数

SCADA 必备函数之 :关于消息的函数

Message Functions

BroadcastSystemMessage//是将一条系统消息广播给系统中所有的顶级窗口。


BroadcastSystemMessageEx//将消息发送到指定的收件人。该接收者可以是应用程序,可安装的驱动程序,网络驱动程序,系统级的设备驱动程序,或这些系统组件的任何组合。这个功能类似于BroadcastSystemMessage除了该功能可以从接收者返回的详细信息。

 


DispatchMessage//该函数分发一个消息给窗口程序。通常消息从GetMessage函数获得。消息被分发到回调函数(过程函数),作用是消息传递给操作系统,然后操作系统去调用我们的回调函数,也就是说我们在窗体的过程函数中处理消息。


GetInputState//该函数确定在当前线程的消息队列中是否有要处理的鼠标,键盘消息.事件是描述硬件级输入的一个记录,鼠标事件发生用户按下一个或多个键时.函数原型: BOOL GetInputState(VOID);


GetMessage// 从调用线程的消息队列里取得一个消息并将其放于指定的结构。此函数可取得与指定窗口联系的消息和由PostThreadMesssge寄送的线程消息。此函数接收一定范围的消息值。GetMessage不接收属于其他线程或应用程序的消息。获取消息成功后,线程将从消息队列中删除该消息。函数会一直等待直到有消息到来才有返回值。


GetMessageExtraInfo// 检索当前线程的额外消息的信息。额外的消息信息是与当前线程的消息队列相关的应用程序或驱动程序定义值。


GetMessagePos//该函数返回表示屏幕坐标下光标位置的长整数值。此位置表示当上一消息由GetMessage取得时鼠标占用的点


GetMessageTime//该函数返回由GetMessage从当前线程队列里取得上一消息的消息时间。时间是一个长整数,指定从系统开始到消息创建(即,放入线程消息队列)的占用时间(按毫秒计算)


GetQueueStatus//该函数返回表示调用线程消息队列里的消息的类型的标志。


InSendMessage//该函数决定当前窗口程序是否处理另一个线程调用SendMesssge(在相同进程或不同进程)发送来的消息。


InSendMessageEx//函数决定当前窗口程序是否处理另一个线程调用SendMessage(在相同进程或不同进程)发送来的消息。此函数与InsendMesssge相似,但另外提供了如何发送消息的信息。


PeekMessage//该函数为一个消息检查线程消息队列,并将该消息(如果存在)放于指定的结构。


PostMessage//该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用GetMessage和PeekMessage取得。


PostQuitMessage//该函数向系统表明有个线程有终止请求。通常用来响应WM_DESTROY消息。


PostThreadMessage//PostThreadMessage是一个Windows API函数。其功能是将一个消息放入(寄送)到指定线程的消息队列里,不等待线程处理消息就返回。


RegisterWindowMessage//函数定义一个新的窗口消息,保证该消息在系统范围内是唯一的。通常调用SendMessage或者PostMessage函数时,可以使用该函数返回的消息值。


ReplyMessage//该函数用于应答由函数SendMessage发送的消息,不返回控制给调用SendMessage的函数。


SendAsyncProc//:该函数是应用程序定义的回调函数,和SendMessageCallback一起使用。系统在将消息传给目标窗口程序后,将消息传给回调函数。类型SENDASYNCPROC定义了一个指向此回调函数的指针。SendAsyncProc是此应用程序定义的函数名的占位符。


SendMessage//该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而和函数PostMessage不同,PostMessage是将一个消息寄送到一个线程的消息队列后就立即返回。


SendMessageCallback//该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,并立即返回。当窗口程序处理完消息后,系统调用指定的回调函数,将消息处理的结果和一个应用程序定义的值传给回调函数


SendMessageTimeout//该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,并且,如果指定的窗口属于不同的线程,直到窗口程序处理完消息或指定的超时周期结束函数才返回。如果接收消息的窗口和当前线程属于同一个队列,窗口程序立即调用,超时值无用。


SendNotifyMessage//该函数将指定的消息发送到一个窗口。如果该窗口是由调用线程创建的;此函数为该窗口调用窗口程序,并等待窗口程序处理完消息后再返回。如果该窗口是由不同的线程创建的,此函数将消息传给该窗口程序,并立即返回,不等待窗口程序处理完消息。


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


TranslateMessage//该函数将虚拟键消息转换为字符消息。字符消息被寄送到调用线程的消息队列里,当下一次线程调用函数GetMessage或PeekMessage时被读出。


WaitMessage//当一个线程的消息队列中无其它消息时,该函数就将控制权交给另外的线程,同时将该线程挂起,直到一个新的消息被放入线程的消息队列之中才返回。

 

原始链接地址:https://msdn.microsoft.com/en-us/library/ff468870(v=vs.85).aspx

 

 

下面是分布讲解:

 

SCADA 必备函数之 :关于消息的函数