如何抓住整个屏幕的PAINT消息,请详细指明!(20分)

  • 主题发起人 主题发起人 uyghur
  • 开始时间 开始时间
U

uyghur

Unregistered / Unconfirmed
GUEST, unregistred user!
我想抓住屏幕的变化部分,但不知道如何抓住Wm_Paint消息,请指点!
 
整个屏幕有这个消息么?<br>wm_paint是发给每个程序然后由程序自己重画自己的东西,似乎不是发给整个屏幕的!<br>实现的方法我想应该有,但是我没想到<br>关注本话题!
 
uyghur:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。<br>请认真阅读大富翁论坛规则说明 &nbsp;http://www.delphibbs.com/delphibbs/rules.htm
 
你的意思是想实现刷新屏幕吗?如果是,那我可以帮你
 
这个问题可以分析为如何hook到desktop的wm_paint上面。我也关心哩。
 
消息钩子
 
&lt;p align="left"&gt;<br>&lt;font color="#FF0000"&gt;<br>大家帮帮忙,给看一下&lt;/font&gt;&lt;/p&gt;<br><br>&lt;p align="left"&gt;<br>&amp;nbsp;<br>&lt;font color="#FF0000" size="4"&gt;<br>&lt;a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=506445"&gt;<br>“寻找简单的方法,filter消息”&lt;/a&gt;<br>&lt;/font&gt;&lt;/p&gt;<br><br>&lt;p align="left"&gt;如有违反论坛规则,还请版主砍掉并批评指出&lt;/p&gt;
 
用Invalidate就行了
 
安装WH_CALLWNDPROC钩子,其回调函数中的lparam指向一个CWPRETSTRUCT结构,这一结构中<br>指明了消息类型(WM_PAINT).但它只是说明有窗体需要更新,具体的更新区域如何获取就不<br>是很清楚了,可能是要截获系统发向更新窗口的InvalidateRect函数,取得其中的pRect值<br>吧.原来见过一个用VC写的截获并替换系统函数的例子,但是看不太明白.请高手指点一下<br>如何用Delphi来做<br><br>
 
这是一个利用hook来进行屏幕涂鸦的程序,截获mouse的down事件,不知对你有帮助吗?<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=955227
 
可以参考一下,delphi深度历险,还不错,呵呵
 
單單一個PAINT是不行的。我試過了。<br>PAINT隻是窗口的客戶區有改變才產生此消息。<br>如果要知道屏幕上有改變。那你要做的HOOK就要包括很多東東。<br>不過你才拿20分,我就不一一舉出來了
 
后退
顶部