Windows 挂钩ExtTextOut(GDIAPI) 你好
我正在钩住ExtTextOut API,以便从任何应用程序窗口检索特定位置的文本(例如MS Word中光标/插入符号下的文本)。 在大多数情况下,我能够从ExtTextOut函数中检索文本及其位置Windows 挂钩ExtTextOut(GDIAPI) 你好,windows,hook,gdi,Windows,Hook,Gdi,我正在钩住ExtTextOut API,以便从任何应用程序窗口检索特定位置的文本(例如MS Word中光标/插入符号下的文本)。 在大多数情况下,我能够从ExtTextOut函数中检索文本及其位置 BOOL ExtTextOut( __in HDC hdc, __in int X, __in int Y, __in UINT fuOptions, __in const RECT *lprc, __in LPCTSTR lpString, __in UIN
BOOL ExtTextOut(
__in HDC hdc,
__in int X,
__in int Y,
__in UINT fuOptions,
__in const RECT *lprc,
__in LPCTSTR lpString,
__in UINT cbCount,
__in const INT *lpDx
);
通过以下方式之一检索文本的位置:
Momico.问题可能是由于使用双缓冲绘制的程序造成的吗 i、 e.文本可能会被提交到一个或多个临时跟单信用证中,然后提交给“真实”跟单信用证
使用这些工具,您可以获得坐标,但它们并不总是与最终坐标匹配,而且所涉及的HDC可能只存在很短的时间,而不是在窗口/屏幕上看到的。如果应用程序创建内存DC并使用这些函数,您将无法看到写入的文本的x、y。
然后,您将看到一个bitblt将内存缓冲区转储到窗口DC。更复杂的是,您可以钩住bitblt,在窗口中查看内存DC的相对位置,并可以在bitblt操作中计算文本的位置。谢谢您的回答。很有道理,我会检查一下。谢谢彼得,你的回答很有帮助。这不是我昨天在回答中说的吗?:)嗨,利奥,你的回答也一样好,只是这个回答对我来说更具体。所以我选择了这个作为公认的答案。谢谢。听起来你在写一些恶意软件!!!嗯,我不是。没有恶意软件,有恶意使用的软件:)