#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=0x006A9EC0;//获取游戏数据的基础地址 bool Result= Read Process Memory( hProcess, //读取哪一个进程 (LPVOID)BaseAddress, //内存地址是多少 &BaseValue, //读取数据放哪 4, //数据存储长度 NULL //实际读取的长度 ); if(Result==false){ cout<<"初始化基础地址失败"; return false; } return true; }