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 必备函数之 :关于消息的函数的更多相关文章
- 使用PreTranslateMessage替代钩子函数处理键盘消息
2002年左右,我所在公司在开发基于H.323的VoIP电话系统(用了以色列一家公司的库,具体名字忘记了). 去电信科技研究院测试系统,同事发现处理键盘消息总有一些莫名其妙的问题,比如延迟或异常. 我 ...
- SendMessage函数的常用消息及其应用大全
来源:http://www.360doc.com/content/09/0814/10/19147_4907488.shtml,非常全面的解释. 文本框控件通常用于输入和编辑文字.它属于标准 Wind ...
- TWinControl与TControl的覆盖函数(TWinControl对TControl的10个消息覆盖函数,17个覆盖函数,私有虚函数仍可多态)
手工找出来,对比一下,有助于VCL框架的理解.----------------------------------------------------------------------------- ...
- MFC程序中消息以及函数的处理顺序简介[转]
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该 ...
- 终于懂了:Delphi消息的Result域出现的原因——要代替回调函数的返回值!(MakeObjectInstance不会帮助处理(接收)消息回调函数的返回值)
MakeObjectInstance应该不会帮助处理(接收)消息回调函数的返回值,可是有时候又确实需要这个返回值,这可怎么办呢?我是看到这段文字的时候,想到这个问题的: 当WM_PAINT不是由Inv ...
- TWinControl的消息覆盖函数大全(41个WM_函数和31个CM_函数,它的WndProc就处理鼠标(转发)、键盘(取消拖动)、焦点、和WM_NCHITTEST一共4类消息)
注意,这些函数只有Private一种形式(也就是不允许覆盖,但仍在动态表格中): 其中TWinControl对TControl有10个消息进行了覆盖(红色标记),其中有2个是WM_消息,8个是CM_消 ...
- 进程间通信系列 之 消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
进程间通信系列 之 概述与对比 http://blog.csdn.net/younger_china/article/details/15808685 进程间通信系列 之 共享内存及其实例 ...
- DefWindowProc是一个会产生消息的函数
先看一道题目: 当用户点击右上角关闭按钮的时候,请给下列Windows做出的响应排个序:A:发送 WM_QUIT 消息 B:发送 WM_CLOSE 消息 C:发送 WM_DESTROY ...
- Windows各种各种消息投递函数
1.SendMessage:发送消息给指定的窗口过程:直到窗口过程处理了消息才返回. 2.PostMessage:将消息放入消息队列(与指定窗口创建的线程相关)中:无需等待消息处理,立即返回. 不 ...
随机推荐
- Linux 高频工具快速教程
全书分为三个部分: 第一部分为基础篇,介绍我们工作中常用的工具的高频用法: 第二部分为进阶篇,介绍的工具更多的适合程序员使用,分为程序构建.程序调试及程序优化: 第三部分是工具参考篇,主要介绍实用工具 ...
- 011杰信-创建购销合同Excel报表系列-4-建立合同货物(修改,删除):合同货物表是购销合同表的子表
前面的一篇文章做的是修改删除,这篇文章做的是合同货物的修改和删除. 业务功能如下:
- MapReduce与Hadoop之比较
MapReduce与Hadoop之比较 Hadoop是Apache软件基金会发起的一个项目,在大数据分析以及非结构化数据蔓延的背景下,Hadoop受到了前所未有的关注. Hadoop是一种分布式数据和 ...
- XML Publiser For Excel Template
1.XML Publisher定义数据 2.XML Publisher定义模板 模板类型选择Microsoft Excel,默认输出类型选择Excel,上传.xls模板 3.定义并发程序 4.定义请求 ...
- C语言字符数组和字符串
用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ' ', 'p', 'r', 'o' ...
- 引入外部文件的时候为什么省略http:
[摘要]相信很多时候大家在使用网上的实例代码的时候,需要引入外部文件,然而它们通常都是省略了http:,这是为什么呢? 先给大家看一个简单的小例子,引入外部jquery文件: <script s ...
- visual studio 常识
去掉 引用提示 文本编辑器=>所有语言=>codelens
- LAMP集群项目五 项目备份
1.打包到本地 2.推送到备份服务器 3.删除若干天前的备份 ip=`awk '/IPADDR/' /etc/sysconfig/network-scripts/ifcfg-eth0 |awk -F ...
- Java Swing 日历 控件
这是我改写的网上的DateChooser代码后的作品,使用效果如图所示.用法参考备注,以及Main函数中用法. /** * * Copyright: Ares. * All Rights Reserv ...
- 170316、spring4:@Cacheable和@CacheEvict实现缓存及集成redis
注:1.放入cache中,采用@Cacheable;使缓存失效@CacheEvict 2.自定义CacheManager只需要继承org.springframework.cache.support.A ...