HWND hWnd = ::FindWindow(NULL, TEXT("QQ游戏 - 连连看角色版"));
if(hWnd != NULL) {
DWORD pid;
GetWindowThreadProcessId(hWnd, &pid);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if(hProcess != NULL) {
int num;
SIZE_T cnt;
if(ReadProcessMemory(hProcess, (LPCVOID)0x112f78, (LPVOID)&num, 4, &cnt)) {
if(4 == cnt) {
//读取数据成功
}
}
}
}
if(hWnd != NULL) {
DWORD pid;
GetWindowThreadProcessId(hWnd, &pid);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if(hProcess != NULL) {
int num;
SIZE_T cnt;
if(ReadProcessMemory(hProcess, (LPCVOID)0x112f78, (LPVOID)&num, 4, &cnt)) {
if(4 == cnt) {
//读取数据成功
}
}
}
}
HWND hWnd = ::FindWindow(NULL, TEXT("QQ游戏 - 连连看角色版"));
if(hWnd != NULL) {
DWORD pid;
GetWindowThreadProcessId(hWnd, &pid);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if(hProcess != NULL) {
int num = 0;
SIZE_T cnt;
if(WriteProcessMemory(hProcess, (LPVOID)0x1163b0, &num, 4, &cnt)) {
if(4 == cnt) {
MessageBox(TEXT("GOOD!"));
}
}
}
}
if(hWnd != NULL) {
DWORD pid;
GetWindowThreadProcessId(hWnd, &pid);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if(hProcess != NULL) {
int num = 0;
SIZE_T cnt;
if(WriteProcessMemory(hProcess, (LPVOID)0x1163b0, &num, 4, &cnt)) {
if(4 == cnt) {
MessageBox(TEXT("GOOD!"));
}
}
}
}
本文演示了如何使用Windows API函数FindWindow, GetWindowThreadProcessId, OpenProcess, ReadProcessMemory和WriteProcessMemory来定位并操作QQ游戏-连连看角色版的进程内存,实现了对游戏中特定地址的数据读取和修改。

911

被折叠的 条评论
为什么被折叠?



