c++ - ReadProcessMemory 更快

标签 c++ c winapi memory

我正在制作一个应用程序,该应用程序将根据变量的值使用鼠标/键盘(宏)模拟操作。

这里有我制作的 de 扫描代码:

void ReadMemory(int value){
        DWORD primeiroAddress = 0x000000;
        DWORD finalAddress = 0xFFFFFF;
        DWORD address=0;
        std::ostringstream ss;
        int i=0;
        TListItem *ListIt;
        int valor;
        HANDLE phandle = OpenProcess(PROCESS_VM_READ,0,TargetPID);
        if(!phandle){
                ShowMessage("Não encoutrou o processo");
        }else{
                for(address=primeiroAddress;address<=finalAddress;address+=sizeof(valor)){
                        ReadProcessMemory(phandle,(void*)address,&valor,sizeof(valor),0);
                        if(valor==value){
                                i++;
                                ss << std::hex << address;
                                Form1->Label5->Caption=i;
                                ListIt = Form1->ListView1->Items->Add();
                                ListIt->Caption = AnsiString(ss.str().c_str()).UpperCase();
                                ListIt->SubItems->Add(IntToStr(valor));
                                ss.str(std::string());
                        }
                }
        }
}

我想知道我可以做些什么来加快扫描速度

最佳答案

您一次读取一个 int。而是调用一次 ReadProcessMemory,一口气读取 16MB,然后在您自己的进程中扫描内存。会快很多。

关于c++ - ReadProcessMemory 更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591270/

相关文章:

c++ - VS2010中的移动构造函数、非常量复制构造函数、列表的位置

c++ - 显式链接到 DLL 中的类

c - 如何在 C 中打印 void** 数据项?

从函数内更改变量值

windows - 如何使用 Windows API 从麦克风录制 wav 声音?

windows - WinAPI Unicode 和 ANSI 函数

c++ - 从 Linux 到 Windows 交叉编译 boost 1.57 的问题

c++ - 为什么函数允许使用变量名和数据类型名,而不能使用关键字?

python - 在 python 中从文件中读取 C 结构

C++、win32、gdi 打印 : DrawEdge does not reach as far as DrawText?