Ms office 哪个API Microsoft Word(Office 2013)正在使用绘制屏幕

Ms office 哪个API Microsoft Word(Office 2013)正在使用绘制屏幕,ms-office,hook,reverse-engineering,windbg,Ms Office,Hook,Reverse Engineering,Windbg,我有一个Office插件(本机C++),它相当涉及Office。我正在做的一件事是找到主窗口的HWND,并对该窗口进行子类化。在不同的场合,我也会打开窗户,把自己的东西画在办公室文件的上面 我还使用各种Windows API的IAT挂钩(相当标准) 我有一个直接利用HDC的“装饰”功能。在Office 2010之前,我在Office处理WM_PAINT之后以及WM_KEYUP之后立即调用了我的方法。那很好 从Office 2013开始,WinWord在我无法跟踪的时候就在客户区工作。此外,我甚至

我有一个Office插件(本机C++),它相当涉及Office。我正在做的一件事是找到主窗口的HWND,并对该窗口进行子类化。在不同的场合,我也会打开窗户,把自己的东西画在办公室文件的上面

我还使用各种Windows API的IAT挂钩(相当标准)

我有一个直接利用HDC的“装饰”功能。在Office 2010之前,我在Office处理WM_PAINT之后以及WM_KEYUP之后立即调用了我的方法。那很好

从Office 2013开始,WinWord在我无法跟踪的时候就在客户区工作。此外,我甚至找不到Office在重新绘制其客户端区域时使用的任何GDIAPI。我在DrawText(gdi)或DrawString(gdi+)上设置了一个钩子

据我所知,WinWord将重新绘制客户端区域(因此-删除我的装饰),即使不调用GetDC、BeginPaint或ReleaseDC


我几乎没有主意了。我很感激Office能用它来触摸屏幕吗?我已设置好挂接任何函数和/或Windows消息-只是找不到必须挂接的内容。任何其他想法(不需要完整的解决方案-只要一个方向就可以了)。任何可以使用的工具(例如,GDI方法是否有类似于FileMon的工具?)都将不胜感激。

Office 2013使用DirectWrite、Direct2D和DXGI在屏幕上添加墨水。这样做时,他们几乎完全避免使用GDI,因此从未调用过GetDC/BeginPaint/etc

请参阅此博客: