快速启动并获取游戏画面的方法、存储介质、设备及系统技术方案

技术编号:20015704 阅读:36 留言:0更新日期:2019-01-05 23:16
本发明专利技术涉及直播软件应用领域,公开了一种快速启动并获取游戏画面的方法、存储介质、设备及系统,该方法包括S1:在记录游戏路径的数据库中查找当前所要运行游戏的游戏路径是否存在,若是,则转到S2,若否,则转到S4;S2:启动游戏,判断游戏是否成功运行,若是,则转到S5,若否,转到S3;S3:根据游戏启动后运行的游戏进程获取该游戏进程对应的文件路径,并在数据库将该游戏原有的游戏路径更新为所述文件路径,然后转到S1;S4:在手动启动游戏后且游戏成功运行后,获取游戏的游戏路径,并将获取的游戏路径添加至数据库并更新数据库,然后转到S5;S5:获取游戏图像。本发明专利技术能够实现对所有游戏的快速启动和游戏画面的获取。

【技术实现步骤摘要】
快速启动并获取游戏画面的方法、存储介质、设备及系统
本专利技术涉及直播软件应用领域,具体涉及一种快速启动并获取游戏画面的方法、存储介质、设备及系统。
技术介绍
在直播软件的主播客户端,通常设有添加游戏源选项,当主播通过电脑桌面的快捷方式或相应文件的游戏路径下启动游戏后,然后通过直播软件中的添加游戏源选项将已经启动的游戏添加到直播软件中,从而实现对游戏的直播。进行游戏直播时,对于游戏的启动,均还得用户手动进行启动操作,增加了主播直播操作的繁琐性,若能够在直播软件中进行游戏的一键快速启动,将极大地给主播的直播操作带来便利性,但若要在直播软件中实现游戏的快速启动,则必须得知该游戏的游戏路径,在得知游戏路径的前提下,直播软件中通过相关的系统接口,从而将游戏进行启动,对于游戏的游戏路径的获取,现有的方法通常是通过读取游戏安装时在注册表中的相关信息进行获取,但对于某些无需安装则可运行的游戏,则在注册表中无法获取到游戏的游戏路径信息,对于此类游戏,则无法实现在直播软件中的快速启动。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种快速启动并获取游戏画面的方法、存储介质、设备及系统,实现对所有游戏的快速启动和游戏画面的获取。为达到以上目的,本专利技术采取的技术方案是,包括:S1:在记录游戏路径的数据库中查找当前所要运行游戏的游戏路径是否存在,若是,则转到S2,若否,则转到S4;S2:启动游戏,判断游戏是否成功运行,若是,则转到S5,若否,转到S3;S3:根据游戏启动后运行的游戏进程获取该游戏进程对应的文件路径,并在数据库将该游戏原有的游戏路径更新为所述文件路径,然后转到S1;S4:在手动启动游戏后且游戏成功运行后,获取游戏的游戏路径,并将获取的游戏路径添加至数据库并更新数据库,然后转到S5;S5:将游戏图像抓取程序注入到游戏中以获取游戏图像。在上述技术方案的基础上,S2中,游戏是否成功运行的具体判断过程为:S201:根据从数据库中获取的游戏路径,调用CreateProcess函数创建游戏进程;S202:判断CreateProcess函数是否进行返回值的返回,若是,则游戏成功运行,若否,则游戏运行失败。在上述技术方案的基础上,S3中,对于未成功运行的游戏的文件路径的获取,包括:S301:枚举系统中当前运行的所有进程,根据当前启动游戏的名称,依次比对每个进程的名称,直至找出与当前启动游戏相同名称的进程,则该进程即为游戏启动后运行的游戏进程,并获取该游戏进程的进程ID;S302:根据进程ID,获取进程ID所对应的进程句柄值,并根据获取的进程句柄值,得到进程句柄值所对应的文件路径,所述文件路径即为当前启动游戏的游戏路径。在上述技术方案的基础上,所述游戏的绘制引擎版本包括基于Direct3D8、Direct3D9、Direct3D10、Direct3D11、Direct3D12或OpenGL的版本;其中,S5具体为:S501:将游戏图像抓取程序注入游戏中并加载;S502:游戏图像抓取程序对游戏的绘制引擎版本进行判断,然后基于游戏的绘制引擎版本,游戏图像抓取程序对游戏图像进行获取。本专利技术还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述方法的步骤。本专利技术还提供一种快速启动并获取游戏画面的设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。本专利技术还提供一种快速启动并获取游戏画面的系统,包括:数据库,其用于记录游戏的游戏路径;查找模块,其用于在数据库中查找当前所要运行游戏的游戏路径是否存在,若存在,则获取游戏路径并启动游戏,若不存在,则手动启动游戏并在游戏成功运行后,获取游戏的游戏路径,并将获取的游戏路径添加至数据库并更新数据库;判断模块,其用于判断查找模块启动的游戏是否成功运行,若游戏未成功运行,则根据游戏启动后运行的游戏进程获取该游戏进程对应的文件路径,并在数据库将该游戏原有的游戏路径更新为所述文件路径;图像抓取执行模块,其用于向已启动并成功运行的游戏中注入游戏图像抓取程序,以获取游戏图像。在上述技术方案的基础上,所述判断模块判断查找模块启动的游戏是否成功运行的具体过程为:根据从数据库中获取的游戏路径,调用CreateProcess函数创建游戏进程;判断CreateProcess函数是否进行返回值的返回,若是,则游戏成功运行,若否,则游戏运行失败。在上述技术方案的基础上,对于未成功运行的游戏的文件路径的获取,包括:枚举系统中当前运行的所有进程,根据当前启动游戏的名称,依次比对每个进程的名称,直至找出与当前启动游戏相同名称的进程,则该进程即为游戏启动后运行的游戏进程,并获取该游戏进程的进程ID;根据进程ID,获取进程ID所对应的进程句柄值,并根据获取的进程句柄值,得到进程句柄值所对应的文件路径,所述文件路径即为当前启动游戏的游戏路径。在上述技术方案的基础上,所述游戏的绘制引擎版本包括基于Direct3D8、Direct3D9、Direct3D10、Direct3D11、Direct3D12或OpenGL的版本,对于不同绘制引擎版本的游戏,游戏图像抓取程序对游戏的绘制引擎版本进行判断后,再基于游戏的绘制引擎版本,游戏图像抓取程序对游戏图像进行获取。与现有技术相比,本专利技术的优点在于:(1)通过数据库对游戏的游戏路径进行保存,当直播软件对游戏进行快速启动时,在数据库中进行游戏路径的获取,避免采用从注册表中获取游戏的游戏路径方式时,因游戏为不安装即可运行的游戏,注册表中不含有游戏路径信息,出现无法获取游戏的游戏路径情况,因而本专利技术的方式基本上适用于所有游戏的快速启动。(2)对于游戏的每一次快速启动,均对数据库中的游戏路径信息进行正确性的验证,若游戏路径错误,则获取正确的游戏路径并对数据库中的数据进行更新,有效保证数据库中数据的有效性。附图说明图1为本专利技术实施例中一种快速启动并获取游戏画面的方法的流程图;图2为本专利技术实施例中快速启动并获取游戏画面的设备的结构示意图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术实施例提供一种快速启动并获取游戏画面的方法,本专利技术实施例中,快速启动并获取游戏画面的方法应用于直播软件中,用于主播在直播软件中对游戏进行快速的一键启动,并获取启动运行后的游戏的画面,从而进行游戏的直播,且直播软件运行于电脑中。本专利技术实施例的快速启动并获取游戏画面的方法具体包括:S1:在记录游戏路径的数据库中查找当前所要运行游戏的游戏路径是否存在,若是,则启动游戏,并转到S2,若否,则转到S3,数据库用于记录游戏的游戏路径,得知了游戏的游戏路径,直播软件便可调用相应的电脑操作系统的接口,从而实现对游戏的快速启动,无需在游戏路径中手动点击启动游戏。对于数据库,具体的为sceneList.zdb数据库的game表,游戏及其对应的游戏路径存储于game表中。S2:判断游戏是否成功运行,若是,则转到S5,若否则转到S3;在一种实施方式中,游戏是否成功运行的具体判断过程为:S201:根据从数据库中获取的游戏路径,调用CreateProcess函数创建游戏进程。CreateProcess函本文档来自技高网...

【技术保护点】
1.一种快速启动并获取游戏画面的方法,其特征在于,包括:S1:在记录游戏路径的数据库中查找当前所要运行游戏的游戏路径是否存在,若是,则转到S2,若否,则转到S4;S2:启动游戏,判断游戏是否成功运行,若是,则转到S5,若否,转到S3;S3:根据游戏启动后运行的游戏进程获取该游戏进程对应的文件路径,并在数据库将该游戏原有的游戏路径更新为所述文件路径,然后转到S1;S4:在手动启动游戏后且游戏成功运行后,获取游戏的游戏路径,并将获取的游戏路径添加至数据库并更新数据库,然后转到S5;S5:将游戏图像抓取程序注入到游戏中以获取游戏图像。

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

【专利技术属性】
技术研发人员:杨亮张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1