扫雷分析

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。

猜你喜欢

转载自www.cnblogs.com/P201821440033/p/12341511.html