内容简介:C/C++游戏外挂基础06 QQ连连看自动消除与秒杀
上一篇文章,我们已经能实现单消了。相信很多朋友可以搞定秒杀了
秒杀无法就是一直调用单消,直到完成为止,那么,我们怎么知道要调用多少次了,方法有很多,我们可以用CE找到棋子的数量,如果没了 就不用调用单消了,今天我们用个更简单的办法,看看我们更新后的 ReadGameData函数,
bool CKyodaiPluginDlg::ReadGameData() { HWND hGameWnd = GetGameHwnd(); ZeroMemory(m_szGameData, 11 * 19); if (!hGameWnd) { return false; } DWORD dwPid = false; GetWindowThreadProcessId(hGameWnd, &dwPid); HANDLE hGameProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid); if (!hGameProcess) { MessageBox(L"打开进程失败"); return false; } if (!ReadProcessMemory(hGameProcess, (LPVOID)0x00199F68, m_szGameData, sizeof(m_szGameData), NULL)) { return false; } for (int i = 0; i < 11; i++) { for (int j = 0; j < 19; j++) { if (m_szGameData[i][j] != 0) { return true; } } } return false; }
只要读到一个不是0的就返回true 表示还要继续数据
//秒杀全部
void CKyodaiPluginDlg::OnBnClickedBtnseckill()
{
while (ReadGameData())
{
ClearOne();
}
}
至于自动单消的功能,你在定时器 或者线程里面 调用单消,然后根据速度 来sleep一定的时间即可
DWORD WINAPI ThreadProc(_In_ LPVOID lpParameter)
{
CKyodaiPluginDlg *pWnd = (CKyodaiPluginDlg*)lpParameter;
while (1)
{
Sleep(5000 – pWnd->m_sliderSpeed.GetPos() * 100);
pWnd->ClearOne();
}
return 0;
}
void CKyodaiPluginDlg::OnBnClickedCheckremove()
{
if (m_checkRemove.GetCheck())
{
m_hThread = CreateThread(NULL, 0, ThreadProc, this, 0, NULL);
}
else
{
TerminateThread(m_hThread, 0);
}
}
源码下载地址:
链接: http://pan.baidu.com/s/1slsAJrZ 密码: 4h53
以上所述就是小编给大家介绍的《C/C++游戏外挂基础06 QQ连连看自动消除与秒杀》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
法律程序的意义:对中国法制建设的另一种思考
季卫东 / 中国法制出版社 / 2005-1 / 10.0
《法律程序的意义:对中国法制建设的另一种思考》内容为现代程序的概念与特征、现代程序的结构与功能、程序与现代社会、中国法律程序的缺陷、程序建设的程序等。一起来看看 《法律程序的意义:对中国法制建设的另一种思考》 这本书的介绍吧!