void C扫雷分析Dlg::OnBnClickedButton1() { HWND hWND = ::FindWindow(NULL, _T("扫雷")); if (NULL == hWND) { ::MessageBox(NULL, _T("扫雷游戏未打开"), _T("错误"), MB_OK); return; } ::SendMessage(hWND, WM_COMMAND, 0x209, 0); } void C扫雷分析Dlg::OnBnClickedButton2() { HWND hWND = ::FindWindow(NULL, _T("扫雷")); if (NULL == hWND) { ::MessageBox(NULL, _T("扫雷游戏未打开"), _T("错误"), MB_OK); return; } ::SendMessage(hWND, WM_COMMAND, 0x20a, 0); } void C扫雷分析Dlg::OnBnClickedButton3() { HWND hWND = ::FindWindow(NULL, _T("扫雷")); if (NULL == hWND) { ::MessageBox(NULL, _T("扫雷游戏未打开"), _T("错误"), MB_OK); return; } ::SendMessage(hWND, WM_COMMAND, 0x20b, 0); } void C扫雷分析Dlg::OnBnClickedButton4() { HWND hWND = ::FindWindow(NULL, _T("扫雷")); if (NULL == hWND) { ::MessageBox(NULL, _T("扫雷游戏未打开"), _T("错误"), MB_OK); return; } ::SendMessage(hWND, WM_COMMAND, 0x20c, 0); } void C扫雷分析Dlg::OnBnClickedButton5() { int s = 100; while (s--) { OnBnClickedButton1(); Sleep(17); OnBnClickedButton2(); Sleep(17); OnBnClickedButton3(); Sleep(17); } } void C扫雷分析Dlg::OnBnClickedButton6() { DWORD pid; HWND hWND = ::FindWindow(NULL, _T("扫雷")); if (NULL == hWND) { ::MessageBox(NULL, _T("扫雷游戏未打开"), _T("错误"), MB_OK); return; } GetWindowThreadProcessId(hWND, &pid); HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); if (NULL == hProcess) { ::MessageBox(NULL, _T("打开扫雷游戏失败"), _T("错误"), MB_OK); return; } ReadProcessMemory(hProcess, (LPCVOID)0x1005194, &m_editbase, sizeof(m_editbase), &pid); UpdateData(FALSE); }
BUTTON1~6分别为初级,中级,高级,自定义,循环,读取雷数。雷数的基地址为0x1005194,初级到自定义的UPARAM分别为0x209-0x20c。