我Hook了WH_CALLWNDPROC消息,目的是监控一个第三方程序窗口的创建。
但我不知道哪个消息表明整个窗口加载完毕。那个窗口上还有其他一些控件。
WM_CREATE?
WM_ACTIVATE?
WM_SHOWWINDOW?因为我要判断目标窗口加载完毕后,用程序控制点击窗口上一个按钮进行打印预览。
这个打印预览按钮我必须判断整个窗口加载完毕才能点,否则由于数据的原因,有可能会出错。
我现在可以得到这个窗口上所有元素的句柄,包括进程句柄,但我就是不知道
1、怎么判断整个窗口加载完毕,
2、不知道该怎么(在哪里)触发我的一个方法,在这个方法里,我会通过向那个打印预览按钮发点击消息,来触发点击事件。
但我不知道哪个消息表明整个窗口加载完毕。那个窗口上还有其他一些控件。
WM_CREATE?
WM_ACTIVATE?
WM_SHOWWINDOW?因为我要判断目标窗口加载完毕后,用程序控制点击窗口上一个按钮进行打印预览。
这个打印预览按钮我必须判断整个窗口加载完毕才能点,否则由于数据的原因,有可能会出错。
我现在可以得到这个窗口上所有元素的句柄,包括进程句柄,但我就是不知道
1、怎么判断整个窗口加载完毕,
2、不知道该怎么(在哪里)触发我的一个方法,在这个方法里,我会通过向那个打印预览按钮发点击消息,来触发点击事件。
Corn1 : 如果在Hook到Show消息里,执行的我方法,会导致目标窗口关闭,然后弹出打印预览窗口。这个时候,我是不是继续CallNextHookEx呢?
不是紧接着
showmodal后 一定要等到返回result,关闭窗体之后才会,执行后面的代码
不是紧接着
showmodal后 一定要等到返回result,关闭窗体之后才会,执行后面的代码
判断nCode值是否为 HSHELL_WINDOWCREATED
加载完毕不一定就可见,也不一定就激活。
Delphi版高手都睡觉了