我想检测何时在另一个进程中呈现Windows控件。使用SetWinEventHook可以很容易地检测窗口位置的变化:
SetWinEventHook(EVENT_OBJECT_LOCATIONCHANGE, EVENT_OBJECT_LOCATIONCHANGE, IntPtr.Zero, moveListener, 0, 0, WINEVENT_OUTOFCONTEXT);
但是我不能让它与该窗口中组件的WM_PAINT一起使用。我可以用Spy ++捕获事件。
这样做的目的是衡量第三方应用程序的性能。我可以捕获将消息发送到应用程序以加载图像的时间(它们通过网络加载)。我想象能够设置一个钩子来监听事件,当提交命令来加载图像,捕获事件发生的时间,然后解开监听器。
如果有不同的方法来解决这个问题,我会全神贯注。感谢。