110,539
社区成员
发帖
与我相关
我的任务
分享
[DllImport("kernel32.dll ")]
static extern bool ReadProcessMemory(int hProcess, int lpBaseAddress, out int lpBuffer, int nSize, out int lpNumberOfBytesRead);
private void button1_Click(object sender, EventArgs e)
{
int calcID;
int dataAddress;
int readByte;
//根据窗口标题获得窗体句柄
IntPtr hwnd = FindWindow(null, "窗口1");
MessageBox.Show(hwnd.ToString());
//由窗体句柄获得进程ID
GetWindowThreadProcessId(hwnd, out calcID);
//由进程ID获得进程句柄
int hProcess = OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE, false, calcID);
//读取进程指定的内存地址
MessageBox.Show(hProcess.ToString());
ReadProcessMemory(hProcess, 37246224, out dataAddress, 118148, out readByte);
//显示读取的地址
MessageBox.Show(dataAddress.ToString());
}