我有这相当与Office涉及的Office插件(原生C ++)。 其中一个我做的是找到主窗口的HWND的事,子类化窗口。 在各种各样的场合我也说的GetDC窗口,搽在Office文档的顶部我自己的东西。
我还使用IAT挂钩各种Windows API的(相当标准)。
我有一个“装饰”功能直接在HDC借鉴。 直到Office 2010时,我打电话给我的方法办公室后立即WM_PAINT和WM_KEYUP后也进行处理。 这是工作的罚款。
与Office 2013开始,WINWORD在痛苦的时候,我没有跟踪客户区。 此外,我甚至无法找到重绘它的客户区时办公室使用任何GDI API。 我把对DrawText的(GDI),或的DrawString(GDI +)挂钩。
据我所知,WINWORD将重绘客户区(因此 - 删除我饰),即使没有调用GetDC,调用BeginPaint,或ReleaseDC!
我几乎没了主意。 我将不胜感激任何想法,办公室可以使用触摸屏? 我设置挂钩的任何功能和/或Windows消息 - 只是找不到什么有被钩住。 任何其他的想法(无需完整的解决方案 - 只是一种方向将被罚款)。 可以使用任何工具(例如,有什么相似的FileMon的GDI方法?)可以理解的。