#include <iostream>
#include <windows.h>
using namespace std;
/*声明变量*/
HWND hand=NULL;//游戏窗口
DWORD pid=0;//游戏进程ID
HANDLE hProcess=NULL;//进程对象
DWORD BaseValue=0;//游戏数据存放的基础值
/*声明方法/函数 */
bool startGame();//初始化游戏数据
int main(int argc, char** argv) {
bool Result=false;
Result=startGame();
if(Result==false){
return 0;
}
return 0;
}
bool startGame(){
//查找电脑是否运行了植物大战僵尸
hand=FindWindow("MainWindow","植物大战僵尸中文版");
cout<<hand<<endl;
if(hand==NULL){
cout<<"游戏没有运行";
return false;
}
cout<<"窗口:"<<hand<<endl;
GetWindowThreadProcessId(hand,&pid);
if(pid==0){
cout<<"无法找到植物大战僵尸进程";
return false;
}
cout<<"进程:"<<pid<<endl;
hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,pid);
if(hProcess==NULL){
cout<<"无法打开进程"<<endl;
return false;
}
cout<<"打开进程:"<<hProcess<<endl;
DWORD BaseAddress=0x006A99EC0;//获取游戏数据的基础地址
bool Result=ReadProcessMemory(
hProcess,//读取哪一个进程
(LPVOID)BaseAddress,//内存地址是多少
&BaseValue,//读取数据放哪
4,//数据存储长度
NULL//实际读取的长度
);
if(Result==false){
cout<<"初始化基础地址失败";
return false;
}
return true;
}