c - 获取由 ExtTextOut 绘制的文本

标签 c winapi text printing output

我正在尝试通过 ExtTextOutW 函数获取文本输出,我想到的第一件事是,去钩住这个函数,例如通过在目标进程中注入(inject) dll .所以从那里我可以获得hdc、文本和标志。但是,我有多次调用此函数的应用程序,所以我不想 Hook 并检查所有调用。有没有办法,我可以通过 ExtTextOutW 将文本打印在表单上而无需 Hook 它,也许可以在它输出数据的地方使用 hdc

最佳答案

Hook 是获取传递给 ExtTextOutW() 的参数数据的唯一方法。如果您只对特定 HDC 的数据感兴趣,则必须相应地进行过滤。但是,HDC 倾向于在需要时动态创建,因此您可能无法过滤实际的 HDC 值本身,因为它每次都会不同。幸运的是,如果 HDC 属于一个窗口(听起来你想拦截对特定窗口的调用),你可以使用 WindowFromDC()获取正在绘制的 HDCHWND,然后根据需要对其进行过滤。

关于c - 获取由 ExtTextOut 绘制的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30808200/

相关文章:

c++ - malloc 在这段代码中做了什么?

C++ vector 和结构体问题 win32

text - 使用fabric.js在 Canvas 上绘制文本

c - 我可以 #include 定义 DWORD 的最小 Windows header 是什么?

c - Fortran:在英特尔 Fortran x64 中使用 C 函数

windows - Spy++ 等软件如何获取信息?

c++ - 如何消除 RICHEDIT 控件的 MessageBeep?

javascript - d3 基于值的文本标签格式

java - 数据存储区/动态文本文件中的 Google App Engine (Java) 文本

c - 为什么 C 不能为大数组运行这个程序?