各位大哥,在家知道PeekMessage是读取本线程的消息,那么如何用它读取其它线程的消息呢?(在线等待) 先谢谢了。各位大哥,在家知道PeekMessage是读取本线程的消息,那么如何用它读取其它线程的消息呢?(在线等待) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Msdn 这样定义的PeekMessage,找到你要读取得线程窗体的handle即可。BOOL PeekMessage( LPMSG lpMsg, // message information HWND hWnd, // handle to window UINT wMsgFilterMin, // first message UINT wMsgFilterMax, // last message UINT wRemoveMsg // removal options); hWnd可能没用。现在我的实际情况是这样的,我在主线程当中作长时间的循环操作,我想按ESC键时退出,但是,如果我反PeekMessage函数放在这个循环里面,势必造成大量的浪费,因为有可能一秒钟同调用n个PeekMessage,我想把这个PeekMessage单独放到线程中,然后Sleep(1000)再调用PeekMessage来检测是否按了ESC。 PeekMessage只能读取本线程内的消息,哪怕指定窗口Handle也不行:) 把PEEKMESSAGE放在你的循环里面造成不了什么浪费吧? 在循环里用一个ProcessMessages,就可以让主窗体响应ESC to citytramper(^o^) 这个办法太土了,严重影响效率 :) 我想你的思路是否应该换成:在线程里长时间操作,在主线程里响应用户中止。因Delphi在主线程更新UI TO:楼主,你最好实际写程序测试一下效率。citytramper(^o^) 办法是土,但未必严重影响效率。消息循环同线程上下文切换比较起来,我认为后者更影响效率。 肯定用钩子了,为什么不写点代码试试?难道代码也要别人帮你写吗?看看VC的工具Spy++是怎么实现的! 复制对象 IdTCPClient 和IDTCPServer传输图片的问题 TMS component Pack 3.8 下载 紧急求救! sql外聯接! 如何将一个程序注册为系统服务? 简单问题:将一个结构体转换为string类型 谁能提供《中小企业客户管理系统》的资料!---帮朋友做的毕业设计!(高分求助500) 用delphi 编写的web service 怎样得到wsdl? 为何我程序中的汉字总是显示不正常? 交朋友!! 怎样使用创建的基于TDBGrid的组件?
BOOL PeekMessage(
LPMSG lpMsg, // message information
HWND hWnd, // handle to window
UINT wMsgFilterMin, // first message
UINT wMsgFilterMax, // last message
UINT wRemoveMsg // removal options
);
现在我的实际情况是这样的,我在主线程当中作长时间的循环操作,我想按ESC键时退出,但是,如果我反PeekMessage函数放在这个循环里面,势必造成大量的浪费,因为有可能一秒钟同调用n个PeekMessage,我想把这个PeekMessage单独放到线程中,然后Sleep(1000)再调用PeekMessage来检测是否按了ESC。
这个办法太土了,严重影响效率 :)
在线程里长时间操作,在主线程里响应用户中止。
因Delphi在主线程更新UI
citytramper(^o^) 办法是土,但未必严重影响效率。
消息循环同线程上下文切换比较起来,我认为后者更影响效率。
看看VC的工具Spy++是怎么实现的!