我的程序要实现如下功能:每秒接收一定的数据,实时处理后以图像的方式显示出来,由于处理数据需要一定时间,为不影响接收,打算采取多线程的方式,主线程显示数据,一个线程接收处理数据,数据由另一程序以sendmessage WM_COPYDATA方式发送,我试了一下,自己创建线程中无法收到sendmessage WM_COPYDATA消息,这可怎么办呢?
解决方案 »
- 菜单按钮实现····
- 如何用createDocumentFromUrl打开一个文档?
- TWebBrowse加载一个网页之后, 希望用户在点击网页中某一链接时, 就打开一个from, 这个不知如何实现?
- datetime转换成浮点数.怎样转,比如'2006-03-07 01:02:03' 转成 ????.?????
- 在Delphi中如何将Excel的数据导入到Excel及SQL Server中!有高分相送!
- 数据表的相关字段允许为空同时没有设置默认值导致POST时出现错误,怎样解决
- 紧急求救.关于POST事件的执行
- 我的一个表上有触发器,插入值时会自动插入一个增长的值,可是我怎么插入值才能使DELPHI不报异常呢?
- 我用DEPHI写了个小程序,我想把它缩小成为个小图标,放在操作系统的底下状态栏里,和时间、输入法等放在一起,怎么作啊,可能会调用
- 关于读写EXE文件?
- 用IDhttp 给网页发送Get,Post请求为什么感觉速度很慢呢
- QuickReport怎么打印多页
你在线程里,创建一个隐藏的窗口(大小为0),并公布这个窗口的handle,外部直接取用这个handle sendMessage即可。然后,可以override 窗口的wndProc 或 直接写消息处理函数 来处理你的业务需要;也可以子类化该窗口,不必重载窗口类。
动态创建一个窗口Tmyform.create(self),如何隐藏而且让其大小为0呢?如何公布窗口的HANDLE呢?谢谢~
此窗口随线程生灭。
height,width设置为0即可,或参考application中的隐藏form创建方式。
创建完窗体,记住handle,也可参考Application.handle
http://www.cnblogs.com/gzcszzx/articles/2110675.html
{AllocateHWnd是Classes单元的全局过程,需要一个TWndMethod类型的参数(即一个窗
口过程);其作用是创建一个不可见窗口并将参数传入的窗口过程关联于它,返回所创建窗口的句柄}
if FHandle <> 0 then
Classes.DeallocateHWnd(FHandle); {销毁已创建的窗口}
你为什么不开一个处理线程呢。
一般由线程PeekMessag就会建立线程消息队列