我正在尝试在 VisualC++ 中为 ReadProcessMemory 和 WriteProcessMemory 创建自己的函数,因此我不必在每次创建新函数调用时都输入所有信息。这个项目是 Windows 窗体。这就是问题所在
void Read(DWORD Add, int Value);
private: System::Void btnP1Money_Click_1(System::Object^ sender, System::EventArgs^e)
{
int BigMoney = 100000;
int GetMoneyValue;
DWORD MonAddr = 0x180A6C8;
Read(MonAddr, GetMoneyValue);
}
void Read(DWORD Add, int Value)
{
HWND window = FindWindow(0, _T("Process Window Name"));
DWORD pID = NULL;
DWORD base = dwGetModuleBaseAddress(pID, _T("Game.exe"));
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
GetWindowThreadProcessId(window, &pID);
ReadProcessMemory(handle, (LPCVOID)(base+Add), &Value, 4, NULL);
}
游戏中的值为 500,但从 Read() 返回的值为 0。不知道我做错了什么。我只是不想在每次单击按钮和复选框时都在我的 Read() 函数中定义所有内容。
谢谢