如何知道Windows 中的某个窗口被Paint了,及Paint了什么?(100分)

  • 主题发起人 主题发起人 zjwzcqd
  • 开始时间 开始时间
Z

zjwzcqd

Unregistered / Unconfirmed
GUEST, unregistred user!
如何知道Windows 中的某个窗口被Paint了,及Paint了什么?<br>这里的窗口是系统级的,不是自己的程序中的窗口.
 
监听它的消息,当WM_PAINT到来就知道了,但要知道画了什么其实是<br>非常困难的,和它的数据结构和算法有关,如果一定要知道,可以这样:<br>1、分析执行文件的PE结构,先滤掉无关的因素。<br>2、反到汇编进行跟踪,可以用debug的-t和-a命令。
 
我想知道的是系统的重画消息,可能Hook可以,但不知道怎么做?
 
以前看过的一些Win98上的xp外壳程序(主要功能是,把98界面的所有窗口样式转化为XP样式)是怎么实现的?看样知道系统重画的消息?<br>哪位老兄知道吗?<br>
 
重画消息可以通过Hook得到。在重画消息中有一个DC参数。我想把它换成我的一个DC。<br>这不就画到我的指定窗口上来了。
 
能否详细一点,怎样Hook
 
应该找个xpmenu的源代码看看(只要有时间)<br>
 
以前看过的一些Win98上的xp外壳程序<br>(主要功能是,把98界面的所有窗口样式转化为XP样式)是怎么实现的?<br>看样知道系统重画的消息?<br>关于这个问题其实是改了系统的设置或者是窗口子类化的结果,<br>前者请看systemparameterinfo函数,后者请看setwindowlong函数。<br>
 
后退
顶部