CN104765630B - 软件安装方法及装置 - Google Patents

软件安装方法及装置 Download PDF

Info

Publication number
CN104765630B
CN104765630B CN201510170807.4A CN201510170807A CN104765630B CN 104765630 B CN104765630 B CN 104765630B CN 201510170807 A CN201510170807 A CN 201510170807A CN 104765630 B CN104765630 B CN 104765630B
Authority
CN
China
Prior art keywords
window
installation
software installation
software
operational controls
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510170807.4A
Other languages
English (en)
Other versions
CN104765630A (zh
Inventor
党伟
郭根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510170807.4A priority Critical patent/CN104765630B/zh
Publication of CN104765630A publication Critical patent/CN104765630A/zh
Application granted granted Critical
Publication of CN104765630B publication Critical patent/CN104765630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请公开了一种软件安装方法及装置。所述方法的一具体实施方式包括:接收所述软件的安装请求并获取新增窗口;根据所述窗口的属性信息,确定所述窗口是否为软件安装窗口;响应于所述窗口为软件安装窗口,判断所述窗口是否包含安装操作控件;若是,则对所述安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口;否则,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装。该实施方式能够通过一套方案实现大批量软件的自动安装工作,不需要针对每个软件安装包预设安装脚本或按键序列,减少了大量的人工成本。

Description

软件安装方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及程序控制技术领域,尤其涉及一种软件安装方法及装置。
背景技术
随着计算机技术和网络技术的发展,人们在使用计算机时,越来越多地依赖应用程序进行各种工作和活动,因此,人们对应用程序的使用也越来越多。而要想使用应用程序,则首先需要进行应用程序的安装,也可以称为软件安装。
软件自动安装工作可以实现软件的自动安装,节省用户的时间,提升了用户使用体验。但是,现有的软件自动安装工作需要针对每一个软件安装包预设安装脚本或按键序列,处理过程复杂、人力成本大。市面上的软件众多,人们对应用程序的使用也越来越多,当需要安装大批量软件时,需要较多的人工成本。
发明内容
本申请的目的在于提出一种软件安装方法及装置。来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种软件安装方法,所述方法包括:接收所述软件的安装请求并获取新增窗口;根据所述窗口的属性信息,确定所述窗口是否为软件安装窗口;响应于所述窗口为软件安装窗口,判断所述窗口是否包含安装操作控件;若是,则对所述安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口;否则,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装。
第二方面,本申请提供了一种软件安装装置,所述装置包括:窗口获取模块,用于接收所述软件的安装请求并获取新增窗口;窗口确定模块,用于根据所述窗口的属性信息,确定所述窗口是否为软件安装窗口;控件判断模块,用于响应于所述窗口为软件安装窗口,判断所述窗口是否包含安装操作控件;操作执行模块,用于响应于所述窗口包含安装操作控件,对所述安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口;信息判断模块,用于响应于所述窗口不包含安装操作控件,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装。
本申请提供的软件安装方法及装置,可以通过接收软件的安装请求并获取新增窗口,然后根据窗口的属性信息,确定窗口是否为软件安装窗口,响应于窗口为软件安装窗口,判断所述窗口是否包含安装操作控件,若是,则对安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口,否则,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装,通过一套方案实现了大批量软件的自动安装工作,不需要针对每个软件安装包预设安装脚本或按键序列,减少了大量的人工成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了本申请提供的软件安装方法的一个实施例的示例性流程图;
图2示出了本申请提供的确定windows标准窗口中安装操作控件的方法的一个实施例的示例性流程图;
图3示出了windows标准窗口示意图;
图4示出了本申请提供的确定非windows标准窗口中安装操作控件的方法的一个实施例的示例性流程图;
图5示出了非windows标准窗口示意图;
图6示出了本申请提供的软件安装装置的一个实施例的功能模块架构示意图;
图7示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了本申请提供的软件安装方法的一个实施例的示例性流程100。本实施例主要以该方法应用于可以安装软件的终端设备中来举例说明。该终端设备例如可以是各种智能终端,包括智能手机、平板电脑、台式计算机、膝上型便携计算机和可穿戴式设备等等。本实施例的软件安装方法,包括以下步骤:
如图1所示,在步骤101中,获取新增窗口。
当用户需要在终端设备上安装软件时,可以首先将软件安装包保存在终端设备上。软件安装包可以从服务器端下载或者从外部设备获取。执行软件安装操作时,用户可以对软件安装包执行预设操作以请求安装该软件,例如,选中软件安装包,点击鼠标右键,并在备选项中选择“安装”操作。终端设备接收软件的安装请求后,可以获取终端设备上的新增窗口。上述新增窗口可以是终端设备上正在运行程序的所有窗口,例如,软件安装窗口、word窗口、画图窗口等等。
接着,在步骤102中,确定窗口是否为软件安装窗口。
在本实施例中,终端设备根据窗口的属性信息,确定窗口是否为软件安装窗口。在软件安装过程中,可以出现多个软件安装窗口,例如,软件安装启动窗口、文件配置窗口、目录选择窗口、结束窗口等。
在本实施例的一个可选实现方式中,窗口的属性信息可以包括:窗口进程、窗口标题、窗口进程对应的可执行文件所在目录等。确定一个窗口是软件安装窗口可以根据如下条件确定:窗口进程已确定为软件安装进程、窗口进程为软件安装包进程、窗口标题包含软件安装信息、窗口进程对应的可执行文件所在目录为软件安装目录。
在一些实现中,当上述条件满足其中一个时,即可确定窗口是软件安装窗口。其中,可以按顺序检测上述条件是否满足。终端设备可以首先检测窗口进程是否已确定为软件安装进程,例如,当前窗口是点击软件安装窗口中操作控件之后获取的窗口,这种情况下,上一个窗口的窗口进程已确定为软件安装进程,当前窗口即可确定为软件安装窗口,且不再检测另外的条件是否满足。当窗口进程未确定为软件安装进程时,可以判断窗口进程是否为软件安装包进程,若是,则确定窗口是软件安装窗口,且不再检测另外两个条件是否满足;否则,继续检测窗口标题是否包含软件安装信息,若窗口标题包含软件安装信息,则确定窗口是软件安装窗口,且不再检测窗口进程对应的可执行文件所在目录是否为软件安装目录;若窗口标题不包含软件安装信息,则检测窗口进程对应的可执行文件所在目录是否为软件安装目录,若窗口进程对应的可执行文件所在目录为软件安装目录,则确定窗口是软件安装窗口,若窗口进程对应的可执行文件所在目录不是软件安装目录,则确定窗口不是软件安装窗口。终端设备可以获取下一个窗口,继续判断该窗口是否为软件安装窗口。终端设备也可以不按既定顺序检测上述条件,根据安装软件的不同,检测顺序可以不同。只要检测到其中一个条件满足,即确定窗口是软件安装窗口。
在另一些实现中,为了提高判断的准确性,终端设备可以设定当上述条件满足其中的多个或全部满足时,才确定窗口是软件安装窗口。
可选地,若确定窗口不是软件安装窗口,则获取终端设备上正在运行的另一个窗口,并判断该窗口是否为软件安装窗口。
然后,在步骤103中,响应于窗口为软件安装窗口,判断窗口是否包含安装操作控件。
在本实施例中,当窗口为软件安装窗口时,终端设备可以判断窗口是否包含安装操作控件。
在软件安装窗口中,通常有一些安装控件,例如,包含一些字符串的可点击按钮或区域,上述字符串可以包括但不限于:“安装”、“取消”、“下一步”、“完成”等。在这些安装控件中,有的控件可以称为安装操作控件,例如,“安装”、“下一步”等。点击这些控件后,软件安装窗口一般会进入到下一个窗口,即软件安装进程进入到下一步。
在本实施例的一个可选实现方式中,终端设备可以基于控件中的字符串,通过查找知识库,确定满足预设条件的控件为安装操作控件。上述知识库例如可以是包含了软件安装过程中所有可能出现的控件的数据库。在该数据库中,根据控件中的字符串将控件进行了分类,例如,可以将控件分为有效安装控件、无效安装控件。其中,还可以将有效安装控件分为安装操作控件和非安装操作控件。在软件安装过程中,通过将控件中的字符串与知识库中的分类信息进行比较,即可确定控件的类型。可选地,上述知识库可以从本地存储空间获取,或者可以从外部设备获取。
在步骤104中,响应于窗口包含安装操作控件,对安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口。
在本实施例中,若在步骤103中判断得到软件安装窗口中包含安装操作控件,则对安装操作控件执行点击操作,获取下一个窗口,并返回步骤102中确定该窗口是否为软件安装窗口。若该窗口是软件安装窗口,则继续后面的步骤,直到结束软件安装。
一般情况下,点击软件安装窗口中的安装操作控件获取的下一个窗口也是软件安装窗口。但是,在安装一些软件时,需要先安装另外的辅助软件,此时,点击软件安装窗口中的安装操作控件获取的下一个窗口就不一定是软件安装窗口,有可能是和辅助软件相关的窗口或提示窗口。因此,在获取下一个窗口后,需要再次确定该窗口是否为软件安装窗口。
在步骤105中,响应于软件安装窗口中不包含安装操作控件,判断是否检测到完成信息。
在本实施例中,若软件安装窗口中不包含安装操作控件,则可能是软件安装结束窗口。终端设备可以判断是否检测到完成信息。
在本实施例的一个可选实现方式中,确定检测到完成信息可以包括以下至少一项:窗口的文字提示包含完成信息、注册表中新增项目包含完成信息、预设目录中新增项目包含完成信息。例如,当检测到窗口的文字提示包含有“完成”或类似文字时,即确定窗口包含完成信息;或者,软件安装结束时,注册表中会有新增的安装项目,Program file目录会生成预定格式(例如.exe)的文件,则可以通过检测注册表或Program file目录新增项目,来确定窗口是否包含完成信息。
可选地,若检测到窗口不包含完成信息,则获取终端设备上正在运行的另一个窗口,并判断该窗口是否为软件安装窗口。
最后,在步骤106中,响应于检测到完成信息,结束软件安装。
在本实施例中,若终端设备检测到完成信息,则结束软件安装,待安装软件已成功安装在终端设备上。
本实施例提供的软件安装方法,可以通过接收软件的安装请求并获取新增窗口,然后根据窗口的属性信息,确定窗口是否为软件安装窗口,响应于窗口为软件安装窗口,判断窗口是否包含安装操作控件,若是,则对安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口,否则,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装,通过一套方案实现了大批量软件的自动安装工作,不需要针对每个软件安装包预设安装脚本或按键序列,减少了大量的人工成本。
请参考图2,其示出了本申请提供的确定windows标准窗口中安装操作控件的方法的一个实施例的示例性流程图200。
如图2所示,在步骤201中,获取窗口中所有控件。
当软件安装窗口是windows标准窗口时,在该窗口中会有安装控件。例如,包含一些字符串的可点击按钮,上述字符串可以包括但不限于:“安装”、“取消”、“下一步”、“完成”等。在本实施例中,终端设备可以获取窗口中所有控件。
请参考图3,其示出了windows标准窗口示意图。如图3所示,终端设备获取的控件可以包括:“安装”控件310、“取消”控件320。
接着,在步骤202中,提取控件中的字符串。
在本实施例中,终端设备可以提取控件中的字符串。例如,图3所示控件310中的字符串“安装”,控件320中的字符串“取消”等。
最后,在步骤203中,基于字符串,通过查找知识库,确定满足预设条件的控件为安装操作控件。
在本实施例中,终端设备可以基于控件中的字符串,通过查找知识库,确定满足预设条件的控件为安装操作控件。上述知识库例如可以是包含了软件安装过程中所有可能出现的控件的数据库。在该数据库中,根据控件中的字符串将控件进行了分类,例如,可以将控件分为有效安装控件、无效安装控件。其中,有效安装控件例如可以包括:“安装”、“下一步”、“完成”等。无效安装控件可以包括:“取消”、或知识库中没有记载的字符串等。其中,还可以将有效安装控件分为安装操作控件和非安装操作控件。例如,安装操作控件包括:“安装”、“下一步”等。非安装操作控件包括:“完成”等。
在软件安装过程中,通过将控件中的字符串与知识库中的分类信息进行比较,即可确定控件是否为安装操作控件。例如,通过查找知识库,可以确定图3中控件310为安装操作控件,控件320为无效安装控件。可选地,上述知识库可以从本地存储空间获取,或者可以从外部设备获取。
本实施例提供的方法,可以通过获取窗口中所有控件,然后提取控件中的字符串,最后基于字符串,通过查找知识库,确定满足预设条件的控件为安装操作控件,能够识别windows标准窗口中安装操作控件,从而实现了软件的自动安装。
进一步参考图4,其示出了本申请提供的确定非windows标准窗口中安装操作控件的方法的一个实施例的示例性流程400。
如图4所示,在步骤401中,获取窗口背景颜色。
在非windows标准窗口中,没有安装控件,有包含相应字符串的能够实现安装控件功能的窗口分区。终端设备可以识别这些窗口分区,进一步通过点击等操作,进行软件的自动安装工作。
在非windows标准窗口中,窗口背景和包含字符串的窗口分区通常会用不同的颜色来区分。在本实施例中,终端设备可以首先获取窗口背景颜色。例如,终端设备可以获取窗口中出现最多的颜色,并确定其为背景颜色。
请参考图5,其示出了非windows标准窗口示意图。如图5所示,终端设备可以获取窗口背景颜色510。
接着,在步骤402中,获取窗口中颜色不同于背景颜色的窗口分区。
在本实施例中,终端设备获取窗口背景颜色后,可以继续获取窗口中颜色不同于背景颜色的窗口分区。例如,终端设备可以按图5中黑线520所示,顺序扫描整个窗口区域。扫描完成后,即可得到窗口中颜色不同于背景颜色的窗口分区,如图5中窗口分区530、540。可选地,终端设备还可以纵向扫描真个窗口区域,以得到窗口中颜色不同于背景颜色的窗口分区。或者,终端设备也可以以其它方式对整个窗口区域进行扫描,获取窗口中颜色不同于背景颜色的窗口分区。
之后,在步骤403中,生成包含窗口分区的矩形区域。
在本实施例中,终端设备可以将在步骤402中获取的窗口分区四扩像素点,得到包含该窗口分区的矩形区域。窗口分区的形状可以包括:矩形、圆形或椭圆形。图5中,窗口分区530、540的形状为矩形,因此,生成的包含该窗口分区的矩形区域与原窗口分区重合。若窗口分区为圆形或椭圆形,也可以得到包含该窗口分区的矩形区域。
然后,在步骤404中,提取矩形区域中的字符串。
在本实施例中,终端设备可以提取矩形区域中的字符串。如图5所示,终端设备可以分别提取矩形区域530、540中的字符串“Install”550、“Baidu PC Faster”560。
在本实施例的一个可选实现方式中,可以通过光学字符识别获取矩形区域中的字符串。光学字符识别(Optical Character Recognition,OCR)是指针对印刷体字符,采用光学的方式将文档中的文字转换成为黑白点阵的图像文件,并通过识别将图像中的文字转换成文本格式,供文字处理软件进一步加工的技术。
最后,在步骤405中,基于字符串,通过查找知识库,确定满足预设条件的矩形区域为安装操作控件。
在本实施例中,终端设备可以基于矩形区域中的字符串,通过查找知识库,确定满足预设条件的矩形区域为安装操作控件。上述知识库例如可以是包含了软件安装过程中所有可能出现的控件的数据库。在该数据库中,根据控件中的字符串将控件进行了分类,例如,可以将控件分为有效安装控件、无效安装控件。其中,有效安装控件例如可以包括:“安装”、“下一步”、“完成”等。无效安装控件可以包括:“取消”、或知识库中没有记载的字符串等。其中,还可以将有效安装控件分为安装操作控件和非安装操作控件。例如,安装操作控件包括:“安装”、“下一步”等。非安装操作控件包括:“完成”等。
在软件安装过程中,通过将矩形区域中的字符串与知识库中的分类信息进行比较,即可确定该矩形区域是否为安装操作控件。例如,通过查找知识库,可以确定图5中字符串“Install”550所在的矩形区域530为安装操作控件。字符串“Baidu PC Faster”560在知识库中没有记载,因此该字符串所在的矩形区域540为无效安装控件。可选地,上述知识库可以从本地存储空间获取,或者可以从外部设备获取。
本实施例提供的方法,可以通过获取窗口背景颜色,然后获取窗口中颜色不同于背景颜色的窗口分区,并生成包含窗口分区的矩形区域,之后提取矩形区域中的字符串,最后基于字符串,通过查找知识库,确定满足预设条件的矩形区域为安装操作控件,能够识别非windows标准窗口中安装操作控件所在区域,从而实现了软件的自动安装。
进一步参考图6,其示出了本申请提供的软件安装装置的一个实施例的功能模块架构示意图。
如图6所示,本实施例提供的软件安装装置600包括:窗口获取模块610、窗口确定模块620、控件判断模块630、操作执行模块640以及信息判断模块650。其中,窗口获取模块610用于接收软件的安装请求并获取新增窗口;窗口确定模块620用于根据窗口的属性信息,确定窗口是否为软件安装窗口;控件判断模块630用于响应于窗口为软件安装窗口,判断窗口是否包含安装操作控件;操作执行模块640用于响应于窗口包含安装操作控件,对安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口;信息判断模块650用于响应于窗口不包含安装操作控件,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装。
在本实施例的一个可选实现方式中,当窗口为windows标准窗口时,确定窗口包含安装操作控件包括:获取窗口中所有控件;提取控件中的字符串;基于字符串,通过查找知识库,确定满足预设条件的控件为安装操作控件。
在本实施例的另一个可选实现方式中,当窗口为非windows标准窗口时,确定窗口包含安装操作控件包括:获取窗口的背景颜色;获取窗口中颜色不同于背景颜色的窗口分区;生成包含窗口分区的矩形区域;提取矩形区域中的字符串;基于字符串,通过查找知识库,确定满足预设条件的矩形区域为安装操作控件。
在本实施例的另一个可选实现方式中,当满足以下至少一项时,窗口确定模块620确定窗口为软件安装窗口:窗口进程已确定为软件安装进程;窗口进程为软件安装包进程;窗口标题包含软件安装信息;窗口进程对应的可执行文件所在目录为软件安装目录。
在本实施例的另一个可选实现方式中,确定检测到完成信息包括以下至少一项:窗口的文字提示包含完成信息;注册表中新增项目包含完成信息;预设目录中新增项目包含完成信息。
在本实施例的另一个可选实现方式中,若窗口确定模块620确定窗口不是软件安装窗口,则获取下一个窗口,并确定该窗口是否为软件安装窗口。
应当理解,图6所示终端设备中记载的诸单元或模块与参考图1-5描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于图6所示的终端设备及其中包含的模块,在此不再赘述。
本实施例提供的软件安装装置,可以首先通过窗口获取模块接收软件的安装请求并获取新增窗口,然后窗口确定模块根据窗口的属性信息,确定窗口是否为软件安装窗口,控件判断模块响应于窗口为软件安装窗口,判断窗口是否包含安装操作控件,操作执行模块响应于窗口包含安装操作控件,对安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口,信息判断模块响应于窗口不包含安装操作控件,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装,通过一套方案实现了大批量软件的自动安装工作,不需要针对每个软件安装包预设安装脚本或按键序列,减少了大量的人工成本。
下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元模块也可以设置在处理器中,例如,可以描述为:一种处理器包括窗口获取模块、窗口确定模块、控件判断模块、操作执行模块和信息判断模块。其中,这些单元模块的名称在某种情况下并不构成对该单元模块本身的限定,例如,窗口获取模块还可以被描述为“用于接收所述软件的安装请求并获取新增窗口的模块”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的软件安装方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种软件安装方法,其特征在于,所述方法包括:
接收所述软件的安装请求并获取新增窗口;
根据所述窗口的属性信息,确定所述窗口是否为软件安装窗口;
响应于所述窗口为软件安装窗口,判断所述窗口是否包含安装操作控件;
若是,则对所述安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口;
否则,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装;
其中,所述窗口的属性信息包括:窗口进程、窗口标题、窗口进程对应的可执行文件所在目录;当满足以下至少一项时,确定所述窗口为软件安装窗口:所述窗口进程已确定为软件安装进程、所述窗口进程为软件安装包进程、所述窗口标题包含软件安装信息、所述窗口进程对应的可执行文件所在目录为软件安装目录;
当所述窗口为非windows标准窗口时,确定所述窗口包含安装操作控件包括:
获取所述窗口的背景颜色;
获取所述窗口中颜色不同于所述背景颜色的窗口分区;
生成包含所述窗口分区的矩形区域;
提取所述矩形区域中的字符串;
基于所述字符串,通过查找知识库,确定满足预设条件的矩形区域为所述安装操作控件。
2.根据权利要求1所述的方法,其特征在于,当所述窗口为windows标准窗口时,确定所述窗口包含安装操作控件包括:
获取所述窗口中所有控件;
提取所述控件中的字符串;
基于所述字符串,通过查找知识库,确定满足预设条件的控件为所述安装操作控件。
3.根据权利要求1所述的方法,其特征在于,通过光学字符识别获取所述矩形区域中的字符串。
4.根据权利要求1或2所述的方法,其特征在于,所述知识库从本地存储空间或外部设备获取。
5.根据权利要求1所述的方法,其特征在于,确定检测到完成信息包括以下至少一项:
所述窗口的文字提示包含完成信息;
注册表中新增项目包含完成信息;
预设目录中新增项目包含完成信息。
6.根据权利要求5所述的方法,其特征在于,若所述窗口不是软件安装窗口,则获取下一个窗口,并确定该窗口是否为软件安装窗口。
7.一种软件安装装置,其特征在于,所述装置包括:
窗口获取模块,用于接收所述软件的安装请求并获取新增窗口;
窗口确定模块,用于根据所述窗口的属性信息,确定所述窗口是否为软件安装窗口;
控件判断模块,用于响应于所述窗口为软件安装窗口,判断所述窗口是否包含安装操作控件;
操作执行模块,用于响应于所述窗口包含安装操作控件,对所述安装操作控件执行点击操作,获取下一个窗口,并返回执行确定该窗口是否为软件安装窗口;
信息判断模块,用于响应于所述窗口不包含安装操作控件,判断是否检测到完成信息,且响应于检测到完成信息,结束软件安装;
其中,所述窗口的属性信息包括:窗口进程、窗口标题、窗口进程对应的可执行文件所在目录;当满足以下至少一项时,所述窗口确定模块确定所述窗口为软件安装窗口:所述窗口进程已确定为软件安装进程、所述窗口进程为软件安装包进程、所述窗口标题包含软件安装信息、所述窗口进程对应的可执行文件所在目录为软件安装目录;
当所述窗口为非windows标准窗口时,确定所述窗口包含安装操作控件包括:
获取所述窗口的背景颜色;
获取所述窗口中颜色不同于所述背景颜色的窗口分区;
生成包含所述窗口分区的矩形区域;
提取所述矩形区域中的字符串;
基于所述字符串,通过查找知识库,确定满足预设条件的矩形区域为所述安装操作控件。
8.根据权利要求7所述的装置,其特征在于,当所述窗口为windows标准窗口时,确定所述窗口包含安装操作控件包括:
获取所述窗口中所有控件;
提取所述控件中的字符串;
基于所述字符串,通过查找知识库,确定满足预设条件的控件为所述安装操作控件。
9.根据权利要求7所述的装置,其特征在于,通过光学字符识别获取所述矩形区域中的字符串。
10.根据权利要求7或8所述的装置,其特征在于,所述知识库从本地存储空间或外部设备获取。
11.根据权利要求7所述的装置,其特征在于,确定检测到完成信息包括以下至少一项:
所述窗口的文字提示包含完成信息;
注册表中新增项目包含完成信息;
预设目录中新增项目包含完成信息。
12.根据权利要求11所述的装置,其特征在于,若窗口确定模块确定所述窗口不是软件安装窗口,则获取下一个窗口,并确定该窗口是否为软件安装窗口。
CN201510170807.4A 2015-04-10 2015-04-10 软件安装方法及装置 Active CN104765630B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510170807.4A CN104765630B (zh) 2015-04-10 2015-04-10 软件安装方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510170807.4A CN104765630B (zh) 2015-04-10 2015-04-10 软件安装方法及装置

Publications (2)

Publication Number Publication Date
CN104765630A CN104765630A (zh) 2015-07-08
CN104765630B true CN104765630B (zh) 2019-02-01

Family

ID=53647478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510170807.4A Active CN104765630B (zh) 2015-04-10 2015-04-10 软件安装方法及装置

Country Status (1)

Country Link
CN (1) CN104765630B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893081A (zh) * 2016-03-28 2016-08-24 努比亚技术有限公司 应用软件安装装置和方法
CN107273145A (zh) * 2016-04-06 2017-10-20 中兴通讯股份有限公司 一种软件管理方法及装置、终端
CN110287091A (zh) * 2019-05-10 2019-09-27 国家计算机网络与信息安全管理中心 一种应用软件安装过程中的检测方法及装置
CN111078236A (zh) * 2019-12-18 2020-04-28 中国建设银行股份有限公司 一种软件自动安装方法、系统、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147736A (zh) * 2010-02-10 2011-08-10 华为技术有限公司 软件的安装方法及装置
CN102681861A (zh) * 2011-03-14 2012-09-19 腾讯科技(深圳)有限公司 安装软件的方法和装置
CN102830991A (zh) * 2012-07-31 2012-12-19 北京奇虎科技有限公司 一种用于实现文件收集、软件包自动安装的方法及装置
CN102915429A (zh) * 2011-08-04 2013-02-06 汉王科技股份有限公司 一种扫描图片匹配方法和装置
CN103218235A (zh) * 2012-01-19 2013-07-24 宇龙计算机通信科技(深圳)有限公司 终端和软件安装方法
CN103500109A (zh) * 2013-09-27 2014-01-08 北京奇虎科技有限公司 一种用于实现文件收集、软件包自动安装的方法及装置
CN103530155A (zh) * 2013-10-12 2014-01-22 北京奇虎科技有限公司 一种用于应用程序的安装方法及装置
CN104503778A (zh) * 2014-12-09 2015-04-08 北京奇虎科技有限公司 一种应用程序的安装方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147736A (zh) * 2010-02-10 2011-08-10 华为技术有限公司 软件的安装方法及装置
CN102681861A (zh) * 2011-03-14 2012-09-19 腾讯科技(深圳)有限公司 安装软件的方法和装置
CN102915429A (zh) * 2011-08-04 2013-02-06 汉王科技股份有限公司 一种扫描图片匹配方法和装置
CN103218235A (zh) * 2012-01-19 2013-07-24 宇龙计算机通信科技(深圳)有限公司 终端和软件安装方法
CN102830991A (zh) * 2012-07-31 2012-12-19 北京奇虎科技有限公司 一种用于实现文件收集、软件包自动安装的方法及装置
CN103500109A (zh) * 2013-09-27 2014-01-08 北京奇虎科技有限公司 一种用于实现文件收集、软件包自动安装的方法及装置
CN103530155A (zh) * 2013-10-12 2014-01-22 北京奇虎科技有限公司 一种用于应用程序的安装方法及装置
CN104503778A (zh) * 2014-12-09 2015-04-08 北京奇虎科技有限公司 一种应用程序的安装方法和装置

Also Published As

Publication number Publication date
CN104765630A (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
KR101317972B1 (ko) 웹 브라우저들 사이에서 웹 브라우저 데이터를 전송하기위한 방법 및 시스템
US7730104B2 (en) Extraction of information from structured documents
CN107438814A (zh) 移动设备上的实体动作建议
US20020055957A1 (en) Access system
CN104765630B (zh) 软件安装方法及装置
CN109218750B (zh) 视频内容检索的方法、装置、存储介质和终端设备
US20150227276A1 (en) Method and system for providing an interactive user guide on a webpage
US20100077291A1 (en) Information display apparatus, information display method, and recording medium
CN111459503B (zh) web前端项目部署方法、装置、服务器及存储介质
CN110008110A (zh) 用户界面的测试方法及装置
CN106575300A (zh) 用于识别文档中的对象的基于图像的搜索
CN104731815B (zh) 一种网页元素的绘制方法及装置
CN106951495A (zh) 用于呈现信息的方法和装置
CN109799988A (zh) iOS页面布局方法、终端设备及计算机可读存储介质
CN103714069A (zh) 后台打开页面的方法和装置
CN107451163B (zh) 一种动画显示方法和装置
CN105739717B (zh) 信息输入方法和装置
CN111666220B (zh) 一种生成Web页面对象测试文件的方法及装置
CN106126517B (zh) 将pc端应用页面转换为移动端应用页面的方法及装置
CN111274156A (zh) 兼容多框架页面的自动识别方法及装置
CN107643968A (zh) 崩溃日志处理方法及装置
CN106020616A (zh) 桌面快链图标的更新方法和装置
JP2011164786A (ja) 動作検証装置、動作検証方法および動作検証プログラム
US10416858B2 (en) Electronic device and method of processing information in electronic device
CN112287131A (zh) 信息交互方法、信息交互装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant