当前位置: 首页 > news >正文

网站建设人员培训/北京网站优化实战

网站建设人员培训,北京网站优化实战,河南建筑信息公共,招商网站建设解决方案在调试程序的时候发现,用PostMessage 传出去的值在我使用的时候已经发生了变化,百思不得其解。用循环去找一个文件,找到的文件名称暂存在一个临时变量里面,找到之后把这个名称传到另外的函数处理,调试发现,…

在调试程序的时候发现,用PostMessage 传出去的值在我使用的时候已经发生了变化,百思不得其解。
用循环去找一个文件,找到的文件名称暂存在一个临时变量里面,找到之后把这个名称传到另外的函数处理,调试发现,处理的总是在我需要的文件后面找到的文件,原因是在我使用的时候那个暂存变量里面的值已经发生了变化(循环已经处理到了下一步了),
PostMessage 和SendMessage的区别主要在于是否等待其他程序消息处理。PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行;而SendMessage必须等待其他程序处理消息后才返回,继续执行。这两个函数的返回值也不同,PostMessage的返回值表示PostMessage函数执行是否正确,而SendMessage的返回值表示其他程序处理消息后的返回值。
使用SendMessage()可以解决这个问题,只不过在时间效率上会有点下降。
函数原型:
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
BOOL PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
LRESULT 返回消息被处理的结果,在消息被处理之后才会返回。BOOL 只是返回传送的结果,是不是已经送到消息队列。
从网络上找到一些资料:
1PostMessage是异步的,SendMessage是同步的。
PostMessage 只把消息放到队列,不管消息是不是被处理就返回,消息可能不被处理;
SendMessage等待消息被处理完了才返回,如果消息不被处理,发送消息的线程将一直处于阻塞状态,等待消息的返回。
2同一个线程内:
SendMessage 发送消息时,由USER32.DLL模块调用目标窗口的消息处理程序,并将结果返回,SendMessage 在同一个线程里面发送消息不进入线程消息队列;PostMessage 发送的消息要先放到消息队列,然后通过消息循环分派到目标窗口(DispatchMessage)。
3不同线程:
SendMessage 发送消息到目标窗口的消息队列,然后发送消息的线程在USER32。DLL模块内监视 和等待消息的处理结果,直到目标窗口的才处理返回,SendMessage在返回之前还需要做许多工作,如响应别的线程向它发送的SendMessage().PostMessge()到别的线程的时候最好使用PostThreadMessage代替。PostMessage()的HWND 参数可以为NULL,相当于PostThreadMessage() + GetCrrentThreadId.

4系统处理消息。
系统只处理(marshal)系统消息(0--WM_USER),发送用户消息(用户自己定义)时需要用户自己处理。
使用PostMessage,SendNotifyMessage,SendMessageCallback等异步函数发送系统消息时,参数不可以使用指针,因为发送者不等待消息的处理就返回,接收者还没有处理,指针就有可能被释放了,或则内容变化了。

5 在Windows2000/XP,每个消息队列最多只能存放一定数量的消息,超过的将不会被处理就丢掉。系统默认是10000;: [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Windows]USERPostMessageLimit
可以修改(我的系统下没有发现)。

在控制别的应用程序的时候,经常需要等待直到某个功能结束,例如:
打开一个窗口-->等待直到窗口结束 ,这个时候就可以用到SendMessage
如果在打开这个窗口后仍然需要对该窗口的界面进行设置,比如Editvalue等等,比如:
打开一个窗口-->控制窗口的control的属性
这个时候就需要PostMessage

http://www.jmfq.cn/news/4799773.html

相关文章:

  • 国外网站为啥速度慢/下载百度网盘app最新版
  • 做网页用的网站/做网页多少钱一个页面
  • 24小时自助建站/高质量外链代发
  • 饰品 东莞网站建设/培训学校资质办理条件
  • 手机网站开发介绍/谷歌广告推广
  • 网站上的验证码怎么做/淘宝关键词工具
  • 2019为赌博网站做代理被判缓刑/网上推广的平台有哪些
  • 北京市建设厅网站/做企业推广
  • 有专门教做家具的网站/朋友圈广告投放
  • 怀化职院网站/志鸿优化网下载
  • java网站开发ssh实例/自己做一个网站要多少钱
  • 怎样将网站开发说清楚/国内重大新闻
  • 淘宝网站开始怎么做/武汉最新消息今天
  • 数字政府与网站内容建设/没有限制的国外搜索引擎
  • 网站建设培训深圳/seo网络推广经理招聘
  • 网站建设 58同城/影视网站怎么优化关键词排名
  • 怎么样做网站代理商/外链工厂 外链
  • wordpress实现登录/家庭优化大师
  • 做影视网站用的封面/举例网络营销的例子
  • 网站开发工程师的生活形态/排名轻松seo 网站推广
  • 从零开始学做网站 网站/南宁seo推广公司
  • 南宁市营商环境建设局网站/百度搜索引擎排行榜
  • 自学做网站界面/网站秒收录工具
  • 做网站如何可以实现窗口切换功能/最近重大新闻
  • 管理员修改网站的参数会对网站的搜效果产生什么影响?/百度推广方式
  • 搜索引擎网站模板/快速提高排名
  • 媒体网站 建设网络强国/写文案接单平台
  • 网站建设与网络推广/seo优化平台
  • 网站建设代理/制作网站要找什么公司
  • 淄博网站推广公司/十大最靠谱教育培训机构