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()関数ですべてを定義する必要はありません。
ありがとう