首页 > 其他分享 >植物大战僵尸(初始化游戏数据 )

植物大战僵尸(初始化游戏数据 )

时间:2023-12-15 19:46:19浏览次数:21  
标签:初始化 游戏 大战 bool Result startGame 僵尸

#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;
} 

  

标签:初始化,游戏,大战,bool,Result,startGame,僵尸
From: https://www.cnblogs.com/As10016/p/17904077.html

相关文章

  • 植物大战僵尸(阳光)
    #include<iostream>#include<windows.h>usingnamespacestd;intmain(){intvalue=0;intpid=0;cout<<"输入修改进程ID";cin>>pid;HANDLEhProcess=NULL;DWORDaddress1=0x006A9EC0;DWORDaddress2;......
  • Android9.0 vold初始化及外部存储器挂载浅析
    一、概况在Android中,当SD卡U盘等外部存储器插入系统之后,系统会自动挂载。Vold就是负责挂载的,vold的全称是volumedaemon。实际上是负责完成系统的CDROM,USB大容量存储,MMC卡等扩展存储的挂载任务自动完成的守护进程。它提供的主要特点是支持这些存储外设的热插拔。Vold框架图关......
  • C++学习笔记九:值,常量,常表达式和常初始化
    1.值:Literal:Datathatisdirectlyrepresentedincodewithoutgoingthroughsomeothervariablestoredinmemory.值:直接在代码中表示的数据,无需通过内存中存储的其他变量。值不在内存中进行存储,而是直接在二进制的可执行文件中产生。1.1整型//Literaltypes:ua......
  • 达梦数据库重新初始化
    1.删除原数据库实例服务进入数据库安装目录./script/root/dm_service_uninstaller.sh-nDmServicedmdbDmServicedmdb是数据库实例的默认名称忘记名称可以在系统服务下查询Dm相关service2.删除数据库目录rm-rf/data/dm-data/DAMENG/*3.创建数据库实例切换到达梦用......
  • Spring Bean的创建和初始化流程
    AbstractApplicatContext【refresh】点击到该方法中,直接看到方法最后的beanFactory.preInstantiateSingletons()方法:DefaultListableBeanFactory【preInstantiateSingletons】在 preInstantiateSingletons() 方法中,可以明显看到拿到了 beanDefinitionNames 列表,而这个......
  • 成员初始化列表
    成员初始化列表是C++中的一个特性,它允许在构造函数中对类的成员变量进行初始化。成员初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。例如:classMyClass{public:MyClass(inta,intb):m_a(a),m_b(b){}private:intm_a;intm_b;};在这个例......
  • 对象的初始化
    对象的初始化常用到构造器(construct)来创建对象。publicPerson(Stringname,intage){this.name=name;this.age=age;}publicstaticvoidmain(String[]args){Personp=newPerson("Tom",15);} 构造......
  • P6入门:项目初始化9-项目详情之资源Resource
    前言使用项目详细信息查看和编辑有关所选项目的详细信息,在项目创建完成后,初始化项目是一项非常重要的工作,涉及需要设置的内容包括项目名,ID,责任人,日历,预算,资金,分类码等等,在接下来的博文中,我将结合官方帮助介绍这些基本设置,希望给对P6感兴趣的人带来帮助。涉及P6 项目详情设置包括:G......
  • P6入门:项目初始化5-项目支出计划Spending Plan
    前言使用项目详细信息查看和编辑有关所选项目的详细信息,在项目创建完成后,初始化项目是一项非常重要的工作,涉及需要设置的内容包括项目名,ID,责任人,日历,预算,资金,分类码等等,在接下来的博文中,我将结合官方帮助介绍这些基本设置,希望给对P6感兴趣的人带来帮助。涉及P6 项目详情设置包括:G......
  • P6入门:项目初始化3-项目详情之记事本Notebook
    前言使用项目详细信息查看和编辑有关所选项目的详细信息,在项目创建完成后,初始化项目是一项非常重要的工作,涉及需要设置的内容包括项目名,ID,责任人,日历,预算,资金,分类码等等,在接下来的博文中,我将结合官方帮助介绍这些基本设置,希望给对P6感兴趣的人带来帮助。涉及P6 项目详情设置包括:G......