我想要非常快的监控窗口局部区域颜色变化,要求能达到MS级
我现在自己试了几种方法
1)每次查询前用BitBlt把内容复制到BMP中,然后用SCANLINE方法查询
2)用GETPIXEL函数查询
//线程内循环查询rhwnd:=FindWindow('EIFORM',nil); //得到窗口句柄
mydc:=GetDC(rhwnd); //获取DC
while not(Terminated) do
begin
//处理过程,以前把GETDC放在这里面,请问一下是不是每一次循环结束都需要释放一次MYDC?
//后来因为老是出现系统资源不够的情况,只好放在外面去了,但是这样的话就有可能在切换窗口
//获取不到颜色值了,请高手指点一下
end;请高手指点一下更快速的方法,谢谢,另外在线程内能允许的极限时间过程是多少?
我在线程内sleep(2)时感觉仍然很卡,虽然计算量并不大
我现在自己试了几种方法
1)每次查询前用BitBlt把内容复制到BMP中,然后用SCANLINE方法查询
2)用GETPIXEL函数查询
//线程内循环查询rhwnd:=FindWindow('EIFORM',nil); //得到窗口句柄
mydc:=GetDC(rhwnd); //获取DC
while not(Terminated) do
begin
//处理过程,以前把GETDC放在这里面,请问一下是不是每一次循环结束都需要释放一次MYDC?
//后来因为老是出现系统资源不够的情况,只好放在外面去了,但是这样的话就有可能在切换窗口
//获取不到颜色值了,请高手指点一下
end;请高手指点一下更快速的方法,谢谢,另外在线程内能允许的极限时间过程是多少?
我在线程内sleep(2)时感觉仍然很卡,虽然计算量并不大
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货