此教程原理基于基础版,请阅读此篇教程的同学请先阅读基础版
链接如下:http://blog.csdn.net/qq78442761/article/details/54670630
用户版思路:
在基础版上,用Qt进行程序界面化,用一个计时器,每2s查询是否存在植物大战僵尸窗口。
如果存在读取游戏数据(基础版有介绍读取数据在此不在介绍)
下面是程序源码打包下载地址
http://download.csdn.net/detail/qq78442761/9743410
IDE为Qt creator5.7
下面是程序运行截图:
程序里面有详细注释:
下面是程序部分代码:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <windows.h>
#include <QString>
#include <QTimerEvent>
#include <QDebug>
#include <QMessageBox>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
virtual void timerEvent(QTimerEvent* event); //每2s检测窗口
void ReadGame(); //读取游戏数据
private slots:
void on_ModifypushButton_clicked();
private:
Ui::Widget *ui;
int m_timerId; // 每个Timer有一个id
DWORD getLastError;
HWND hWinmine;
HANDLE hProcess;
DWORD dwPID; //进程ID
DWORD dwSize;
DWORD SunShineBaseAddress; //静态基址
DWORD SunShineBaseAddressValue; //基址值
DWORD SunShineOffsetFirst; //一级偏移
DWORD SunShineOffsetFirstValue;//一级偏移值
DWORD SunShineOffsetSecond;//二级偏移
DWORD SunShineNum; //最后值
};
#endif // WIDGET_H