如何将EM_GETTEXTRANGE与WriteProcessMemory和ReadProcessMemory一起使用

时间:2010-12-25 21:28:16

标签: c# api

我需要在c#

中使用EM_GETTEXTRANGE和WriteProcessMemory以及ReadProcessMemory

我已经获得了单词的开始位置和结束位置,但我不能使用它 获取单词

的EM_GETTEXTRANGE

任何身体帮助我

1 个答案:

答案 0 :(得分:0)

你需要更多的pinvoke。首先,您需要在目标进程中分配内存,以便它可以读取和写入TEXTRANGE结构值。这需要OpenProcess和VirtualAllocEx。现在你需要初始化结构,业务的第一个顺序是为lpstrText成员获取内存。 VirtualAllocEx再次分配一个足够大的缓冲区来存储字符串,WriteProcessMemory来初始化结构。

现在您已准备好调用SendMessage。 ReadProcessMemory读取lpstrText。使用两次VirtualFreeEx和CloseHandle进行清理以关闭进程句柄。

大约有一百种射击方法。这是codeproject.com上流行的一种代码,我知道它存在,但是他们的搜索最近完全被塞了。祝你好运!