1.一种快速启动并获取游戏画面的方法,其特征在于,包括:
S1:在记录游戏路径的数据库中查找当前所要运行游戏的游戏路径是否存在,若是,则转到S2,若否,则转到S4;
S2:启动游戏,判断游戏是否成功运行,若是,则转到S5,若否,转到S3;
S3:根据游戏启动后运行的游戏进程获取该游戏进程对应的文件路径,并在数据库将该游戏原有的游戏路径更新为所述文件路径,然后转到S1;
S4:在手动启动游戏后且游戏成功运行后,获取游戏的游戏路径,并将获取的游戏路径添加至数据库并更新数据库,然后转到S5;
S5:将游戏图像抓取程序注入到游戏中以获取游戏图像;
S3中,对于未成功运行的游戏的文件路径的获取,包括:
S301:枚举系统中当前运行的所有进程,根据当前启动游戏的名称,依次比对每个进程的名称,直至找出与当前启动游戏相同名称的进程,则该进程即为游戏启动后运行的游戏进程,并获取该游戏进程的进程ID;
S302:根据进程ID,获取进程ID所对应的进程句柄值,并根据获取的进程句柄值,得到进程句柄值所对应的文件路径,所述文件路径即为当前启动游戏的游戏路径。
2.如权利要求1所述的一种快速启动并获取游戏画面的方法,其特征在于,S2中,游戏是否成功运行的具体判断过程为:S201:根据从数据库中获取的游戏路径,调用CreateProcess函数创建游戏进程;
S202:判断CreateProcess函数是否进行返回值的返回,若是,则游戏成功运行,若否,则游戏运行失败。
3.如权利要求1所述的一种快速启动并获取游戏画面的方法,其特征在于:所述游戏的绘制引擎版本包括基于Direct3D8、Direct3D9、Direct3D10、Direct3D11、Direct3D12或OpenGL的版本;
其中,S5具体为:
S501:将游戏图像抓取程序注入游戏中并加载;
S502:游戏图像抓取程序对游戏的绘制引擎版本进行判断,然后基于游戏的绘制引擎版本,游戏图像抓取程序对游戏图像进行获取。
4.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至3中任一项所述方法的步骤。
5.一种快速启动并获取游戏画面的设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至3中任一项所述方法的步骤。
6.一种快速启动并获取游戏画面的系统,其特征在于,包括:
数据库,其用于记录游戏的游戏路径;
查找模块,其用于在数据库中查找当前所要运行游戏的游戏路径是否存在,若存在,则获取游戏路径并启动游戏,若不存在,则手动启动游戏并在游戏成功运行后,获取游戏的游戏路径,并将获取的游戏路径添加至数据库并更新数据库;
判断模块,其用于判断查找模块启动的游戏是否成功运行,若游戏未成功运行,则根据游戏启动后运行的游戏进程获取该游戏进程对应的文件路径,并在数据库将该游戏原有的游戏路径更新为所述文件路径;
图像抓取执行模块,其用于向已启动并成功运行的游戏中注入游戏图像抓取程序,以获取游戏图像;
对于未成功运行的游戏的文件路径的获取,包括:枚举系统中当前运行的所有进程,根据当前启动游戏的名称,依次比对每个进程的名称,直至找出与当前启动游戏相同名称的进程,则该进程即为游戏启动后运行的游戏进程,并获取该游戏进程的进程ID;根据进程ID,获取进程ID所对应的进程句柄值,并根据获取的进程句柄值,得到进程句柄值所对应的文件路径,所述文件路径即为当前启动游戏的游戏路径。
7.如权利要求6所述的一种快速启动并获取游戏画面的系统,其特征在于,所述判断模块判断查找模块启动的游戏是否成功运行的具体过程为:根据从数据库中获取的游戏路径,调用CreateProcess函数创建游戏进程;判断CreateProcess函数是否进行返回值的返回,若是,则游戏成功运行,若否,则游戏运行失败。
8.如权利要求6所述的一种快速启动并获取游戏画面的系统,其特征在于,所述游戏的绘制引擎版本包括基于Direct3D8、Direct3D9、Direct3D10、Direct3D11、Direct3D12或OpenGL的版本,对于不同绘制引擎版本的游戏,游戏图像抓取程序对游戏的绘制引擎版本进行判断后,再基于游戏的绘制引擎版本,游戏图像抓取程序对游戏图像进行获取。