网站大量收购闲置独家精品文档,联系QQ:2885784924

sendmessage消息大全和说明.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sendmessage消息大全和说明

VB.NET SendMessage (PostMessage)消息大全及使用说明 Windows是一个消息驱动式系统,SendMessage(PostMessage)是应用程序和应用程序之间进行消息传递的主要手段之一,这里我搜集整理了SendMessage(PostMessage)函数的详细参数介绍,以备自用。 (1)函数声明: Private Declare Function SendMessage Lib “user32” Alias “SendMessageA” (ByVal hwnd As Integer, ByVal wMsg As Integer,ByVal wParam As Integer,ByVal IParam As Object) As Integer Private Declare Function PostMessage Lib user32 Alias PostMessageA (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Object) As Integer 参数1:hwnd-窗口句柄。窗口可以是任何类型的屏幕对象; 参数2:wMsg-用于区别其他消息的常量值; 参数3:wParam-通常是一个与消息有关的常量值,也可能是窗口或控件的句柄; 参数4:IParam-通常是一个指向内存中数据的指针。 SendMessage与PostMessage的区别 PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数。而SendMessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息投放函数。而且,PostMessage的返回值表示PostMessage函数执行是否正确;而SendMessage的返回值表示其他程序处理消息后的返回值。 如果在同一个线程内,PostMessage发送消息时,消息要先放入线程的消息队列,然后通过消息循环Dispatch到目标窗口。SendMessage发送消息时,系统直接调用目标窗口的消息处理程序,并将结果返回。SendMessage在同一线程中发送消息并不入线程消息队列。?如果在不同线程内。最好用PostThreadMessage代替PostMessage,他工作的很好。SendMessage发送消息到目标窗口所属的线程的消息队列,然后发送消息的线程等待(事实上,他应该还在做一些监测工作,比如监视QS_SENDMESSAGE标志),直到目标窗口处理完并且结果返回,发送消息的线程才继续运行。这是SendMessage的一般情况,事实上,处理过程要复杂的多。比如,当发送消息的线程监测到有别的窗口SendMessage一个消息到来时,他直接调用窗口处理过程(重入),并将处理结果返回 (3)wMsg参数及说明 Public Const WM_CREATE As Integer = H01 ‘创建一个窗口 Public Const WM_DESTROY As Integer = H02 ‘当一个窗口被破坏时发送 Public Const WM_MOVE As Integer = H03 ‘移动一个窗口 Public Const WM_SIZE As Integer = H05 ‘改变一个窗口的大小 Public Const WM_ACTIVATE As Integer = H06 ‘一个窗口被激活或失去激活状态 Public Const WM_SETFOCUS As Integer = H07 ‘一个窗口获得焦点 Public Const WM_KILLFOCUS As Integer = H08 ‘一个窗口失去焦点 Public Const WM_ENABLE As Integer = HA ‘一个窗口改变成Enable状态 Public Const WM_SETREDRAW As Integer = HB ‘设置窗口是否能重画 Public Const WM_SETTEXT As Integer = HC ‘应用程序发送此消息来设置一个窗口的文本 Public Const WM_GETTEXT As Integer = HD ‘应用程序发送此消息来复制对应窗口的文本到缓冲区 Public Const WM_GETTEXTLENGTH As Integer = HE ‘得到与一个窗口有关的文本的长度(不包含空字符) Public Const WM_PAINT As Integer = HF ‘要求一个窗口重画自己 Public Cons

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档