书签 分享 收藏 举报 版权申诉 / 9

一种实现补丁自动安装的方法及系统.pdf

  • 上传人:62****3
  • 文档编号:1032897
  • 上传时间:2018-03-27
  • 格式:PDF
  • 页数:9
  • 大小:368.48KB
  • 摘要
    申请专利号:

    CN201110041534.5

    申请日:

    2011.02.21

    公开号:

    CN102063322A

    公开日:

    2011.05.18

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/445申请日:20110221|||公开

    IPC分类号:

    G06F9/445

    主分类号:

    G06F9/445

    申请人:

    北京奇虎科技有限公司

    发明人:

    浦欣; 李涛

    地址:

    100088 北京市西城区新街口外大街28号D座112室(德胜园区)

    优先权:

    专利代理机构:

    北京集佳知识产权代理有限公司 11227

    代理人:

    逯长明;王宝筠

    PDF完整版下载: PDF下载
    内容摘要

    本申请实施例公开了一种实现补丁自动安装的方法和系统;其中,所述方法包括:调用系统函数创建新的隐藏桌面;在所述新隐藏桌面上运行补丁安装程序;通过模拟点击完成补丁安装步骤。采用本发明实施例提供的方法或系统,保证了补丁成功安装的同时,有效的避免了该补丁在安装过程中对当前桌面的刷新和抢焦点,从而保证了用户当前的工作能够正常进行。

    权利要求书

    1: 一种实现补丁自动安装的方法, 其特征在于, 包括 : 调用系统函数创建新的隐藏桌面 ; 在所述新隐藏桌面上运行补丁安装程序 ; 通过模拟点击完成补丁安装步骤。
    2: 根据权利要求 1 所述的方法, 其特征在于, 采用如下方式实现在所述新隐藏桌面上 运行补丁安装程序 : 提取所述新创建隐藏桌面的名称 ; 在补丁运行前将所述新隐藏桌面名称通过参数传入并控制补丁在新隐藏桌面运行。
    3: 根据权利要求 1 所述的方法, 其特征在于, 采用如下方式实现模拟点击 : 录制安装引导脚本 ; 发送录制好的安装引导脚本 ; 利用所述安装引导脚本中已定义的窗口消息, 模拟鼠标点击相应窗口位置所产生的系 统消息, 完成模拟点击。
    4: 根据权利要求 3 所述的方法, 其特征在于, 采用如下方式实现所述安装引导脚本的 录制 : 通过记录补丁安装过程中的鼠标点击信息、 键盘输入信息、 窗口的信息以及实际安装 中的安装步骤完成安装引导脚本的录制。
    5: 根据权利要求 4 所述的方法, 其特征在于, 所述窗口信息至少包括以下参数中的一 种: 窗口类名称、 窗口标题、 大小、 位置、 父窗口类名、 父窗口标题。
    6: 一种实现补丁自动安装的系统, 其特征在于, 包括 : 调用单元, 用于调用系统函数创建新的隐藏桌面 ; 运行单元, 用于在所述新隐藏桌面上运行补丁安装程序 ; 安装单元, 用于通过模拟点击完成补丁安装步骤。
    7: 根据权利要求 6 所述的系统, 其特征在于, 所述运行单元包括 : 提取模块, 用于提取所述新创建桌面的名称 ; 传入模块, 用于在补丁运行前将所述新隐藏桌面名称通过参数传入并控制补丁在新隐 藏桌面运行。
    8: 根据权利要求 6 所述的系统, 其特征在于, 所述安装单元包括 : 设置模块, 用于录制安装引导脚本 ; 发送模块, 用于发送录制好的安装引导脚本 ; 点击模块, 用于利用所述安装引导脚本中已定义的窗口消息, 模拟鼠标点击相应窗口 位置所产生的系统消息, 完成模拟点击。
    9: 根据权利要求 8 所述的系统, 其特征在于, 所述设置模块包括 : 记录设备, 用于记录补丁安装过程中的鼠标点击信息、 键盘输入信息、 窗口的信息以及 实际安装中的安装步骤 ; 录制设备, 用于根据所述记录设备记录的信息录制安装引导脚本。
    10: 根据权利要求 9 所述的系统, 其特征在于, 所述记录设备记录的窗口信息至少包括 以下参数中的一种 : 2 窗口类名称、 窗口标题、 大小、 位置、 父窗口类名、 父窗口标题。

    说明书


    一种实现补丁自动安装的方法及系统

        【技术领域】
         本申请涉及计算机技术领域, 特别是涉及一种实现补丁自动安装的方法及系统。背景技术 在现在计算机的各种应用过程中, 常常会发现各种操作系统、 应用软件等存在问 题或漏洞, 也可称为 BUG, 而这些漏洞会使用户在使用操作系统或软件时出现干扰, 或者导 致软件的安全性能降低, 因此可以通过写出一些可插入源程序的程序语言, 对这些漏洞进 行修复, 上述用于修复漏洞的程序语言就称为补丁。
         针对此, 目前一些操作系统或应用软件的专门网站会定期发布一段时间内的补 丁, 以针对这些操作系统或应用软件进行漏洞修复 ; 然而, 发明人在对现有技术的研究过程 中发现, 现有技术中专门网站发布的补丁往往并不是静默安装, 而是会通过显示窗口, 并需 要用户点击下一步, 进而一步一步安装 ; 但是, 这种方式在需要安装多个补丁时就会变得很 繁琐, 同时也很容易由于用户的误操作 ( 如误点击取消按钮 ) 而造成安装失败 ; 更为重要的
         是, 这些非静默安装的补丁在安装过程中会刷新桌面、 抢焦点, 从而极易导致用户在安装多 个补丁时无法进行正常的工作。 发明内容
         本申请实施例提供了一种实现补丁自动安装的方法及系统, 以解决现有补丁在安 装时刷新隐藏桌面、 抢焦点所导致的问题。
         为了解决上述技术问题, 本申请实施例公开了如下技术方案 :
         一种实现补丁自动安装的方法, 包括 :
         调用系统函数创建新的隐藏桌面 ;
         在所述新隐藏桌面上运行补丁安装程序 ;
         通过模拟点击完成补丁安装步骤。
         优选的, 采用如下方式实现在所述新隐藏桌面上运行补丁安装程序 :
         提取所述新创建桌面的名称 ;
         在补丁运行前将所述新隐藏桌面名称通过参数传入完成补丁在新隐藏桌面运行。
         优选的, 采用如下方式实现模拟点击 :
         预设对应的已录制的安装引导脚本 ;
         发送录制好的安装引导脚本 ;
         利用所述安装引导脚本中已定义的窗口消息, 模拟鼠标点击相应窗口位置所产生 的系统消息, 完成模拟点击。
         优选的, 采用如下方式实现所述安装引导脚本的录制 :
         通过记录鼠标点击、 相应的工具获取点击窗口的信息以及实际安装中的安装步骤 完成安装引导脚本的录制。
         优选的, 所述鼠标点击获取的窗口信息至少包括以下参数中的一种 :窗口类名称、 窗口标题、 大小、 位置、 父窗口类名、 父窗口标题。
         一种实现补丁自动安装的, 包括 :
         调用单元, 用于调用系统函数创建新的隐藏桌面 ;
         运行单元, 用于在所述新隐藏桌面上运行补丁安装程序 ;
         安装单元, 用于通过模拟点击完成补丁安装步骤。
         优选的, 所述运行单元包括 :
         提取模块, 用于提取所述新创建桌面的名称 ;
         传入模块, 用于在补丁运行前将所述新隐藏桌面名称通过参数传入完成补丁在新 隐藏桌面运行。
         优选的, 所述安装单元包括 :
         设置模块, 用于预设对应的已录制的安装引导脚本 ;
         发送模块, 用于发送录制好的安装引导脚本 ;
         点击模块, 用于利用所述安装引导脚本中已定义的窗口消息, 模拟鼠标点击相应 窗口位置所产生的系统消息, 完成模拟点击。
         优选的, 所述设置模块包括 :
         记录设备, 用于记录鼠标点击、 相应的工具获取点击窗口的信息以及实际安装中 的安装步骤 ;
         录制设备, 用于根据所述记录设备记录的信息录制安装引导脚本。
         优选的, 所述记录设备记录的窗口信息至少包括以下参数中的一种 :
         窗口类名称、 窗口标题、 大小、 位置、 父窗口类名、 父窗口标题。
         由上述实施例可以看出, 本申请实施例中, 通过开启另一个新的隐藏桌面, 并在新 开启的桌面中运行补丁安装程序, 通过模拟点击来实现补丁的自动安装, 从而在保证了补 丁成功安装的同时, 有效的避免了该补丁在安装过程中对当前桌面的刷新和抢焦点, 从而 保证了用户当前的工作能够正常进行。 附图说明
         为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 对于本领域普通技术人员而 言, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
         图 1 为本申请实现补丁自动安装的方法的第一实施例流程示意图 ;
         图 2 为本申请第一实施例中完成模拟点击的流程示意图 ;
         图 3 为本申请实现补丁自动安装的系统的实施例框图。 具体实施方式
         本发明的基本思想在于当有补丁需要安装时, 开启另一个新的隐藏桌面, 并在新 开启的桌面中运行补丁安装程序, 通过模拟点击来实现补丁的自动安装, 从而在保证了补 丁成功安装的同时, 有效的避免了该补丁在安装过程中对当前桌面的刷新和抢焦点, 从而 保证了用户当前的工作能够正常进行。
         本发明如下实施例提供了一种实现补丁自动安装的方法及系统。为了使本技术领域的人员更好地理解本发明实施例中的技术方案, 并使本发明实 施例的上述目的、 特征和优点能够更加明显易懂, 下面结合附图对本发明实施例中技术方 案作进一步详细的说明。
         参见图 1, 为本申请实现补丁自动安装方法的第一实施例流程图 :
         步骤 101 : 调用系统函数创建新的隐藏桌面 ;
         具体的, 在实际操作中所述创建的新隐藏桌面还可称为虚拟桌面 : 虚拟桌面上的 程序运行、 安装并不在当前桌面显示, 当然也可以采用部分后台执行、 当前显示浮窗或气 泡等方式, 正是由于当前桌名并不显示所述新隐藏桌面及其上运行的程序, 因此可以彻底 的避免用户被打扰, 用户在当前桌面上的任何操作都不会被打断, 从而防止了抢焦点出现 的对当前工作的影响问题 ; 所述虚拟桌面, 可以主要利用 CreateDesktop、 OpenDesktop 和 SwitchDesktop 这几个 API 函数来实现, 具体本文不再赘述。
         其中, 在 Linux 系统中, 虚拟桌面是一种将用户的工作区扩展到计算机屏幕边界 以外的方法, 这个桌面可以上下左右滚动, 就好象一个更大的桌面放置在玻璃屏幕后面, 并 且可以四处移动以显示图标、 窗口以及其它一些存在于幕后或视野以外的对象 ; 而目前, 其 他操作系统如 Windows XP、 2003 也可以像 Linux 一样实现虚拟桌面, 而且不需要安装任何 程序, 只要下载一个 msvdm.dll 文件即可 ; 其中, Windows 一共可以提供四个桌面, 每个桌面 可以应用不同的背景和相应的快捷键, 但是这四个桌面上的快捷方式图标永远是相同的, 不能分别摆放不同的程序, 因此, 在虚拟桌面上安装软件, 不必担心快捷方式的生成问题。 以 Windows 系统为例 : 当有补丁程序需要运行安装时, 首先调用系统内置的函数 CreateDesktop 即可创建一个桌面, 具体调用过程如下所示 :
         char*DesktopName =″ DESK″ ;
         desktop = CreateDesktop(DesktopName, NULL, NULL, 0, GENERIC_ALL, NULL) ;
         后续如果需要在此桌面进行操作, 只需在创建进程时在参数中配置此桌面的名称 即可。
         步骤 102 : 在所述新隐藏桌面上运行补丁安装程序 ;
         其中, 当本实施例中调用系统内置的函数 CreateDesktop 创建一个桌面后, 当需 要安装补丁时, 首先提取所述新创建桌面的名称, 然后在补丁运行前将所述桌面的名称也 通过参数传入即可将这个补丁在新的隐藏桌面中运行 ; 具体的提取方式可采用现有方式实 现, 本文在此不再赘述 ;
         具体的, 所述创建进程函数 CreateProcess 的第九个参数的结构体定义了如何将 进程创建指定的桌面中, 即通过创建桌面时使用的名称即可实现进程在相应桌面中运行 : 结构体第三个成员 lpDesktop 指定桌面名称用于将要创建的进程 ;
         例如 : 若要将一个补丁 KB 在另一个桌面 “360LeakDesktop” 上运行, 具体如下实 现:
         STARTUPINFO si = {sizeof(si)} ;
         si.lpDesktop =″ 360LeakDesktop″ ;
         PROCESS_INFORMATION pi = {0} ;
         CreateProcess(NULL, “C:\\Program Files \\360 \\360safe\\hotfix \\offic e2007-kb2443839-fullfile-x86-glb.exe” , NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) ;
         步骤 103 : 通过模拟点击完成补丁安装步骤 ;
         在本实施例中, 可以通过实际模拟安装来考察整个安装过程是否需要用户点 击选择, 根据模拟安装过程中被点击所包含的信息, 预先设置对应的录制好的安装引导 脚本 ; 在脚本的执行流程中, 通过静默安装参数或虚拟点击等实现安装选择, 例如, 对 于 “KB123456789”这 一 补 丁, 可以通过如下静默参数实现 : KB123456789/S/quickasso/ skipcheck ;
         其中, /S 代表静默安装 ; 在新建的桌面安装, 若没有其他参数, 则依系统默认的语 言按照默认的设置安装默认的组件 ; /quickasso 代表安装完成后按推荐 / 当前格式直接关 联文件而不跳出选择对话框 ; /skipcheck 代表安装时跳过对运行环境的检查 ;
         具体的, 如图 2 所示, 可通过如下步骤实现模拟点击 :
         S301 : 录制安装引导脚本 ; 录制安装引导脚本的实现是通过实际安装过程中, 通 过记录补丁安装过程中的鼠标点击信息、 键盘输入信息、 窗口的信息以及实际安装中的安 装步骤, 录制成安装引导脚本 ; 其中, 所述窗口信息包括但不局限于窗口类名称、 窗口标题、 大小、 位置、 父窗口类名、 父窗口标题等 ;
         S302 : 发送录制好的安装引导脚本 ; S303 : 利用所述安装引导脚本中已定义的窗口消息, 模拟鼠标点击相应窗口位置 所产生的系统消息, 达到鼠标点击的效果 ;
         模拟点击一般通过发送消息来实现, 主要是 SendMessage 和 PostMessage 来实现, 如下所示 :
         SendMessage(hWnd, WM_COMMAND, MAKELPARAM(BN_CLICK, ID), hButtonWnd)。
         与本申请实现补丁自动安装的方法的实施例相对应, 本申请还提供了实现该方法 的系统的实施例。
         参见图 3, 为本申请补丁自动安装的系统的实施例框图 :
         该系统 300 包括 :
         调用单元 310, 用于调用系统函数创建新的隐藏桌面 ;
         运行单元 320, 用于在所述新隐藏桌面上运行补丁安装程序 ;
         安装单元 330, 用于通过模拟点击完成补丁安装步骤。
         其中, 所述运行单元 320 还可包括 ( 图中未示出 ) : 提取模块, 用于提取所述新创 建桌面的名称 ; 传入模块, 用于在补丁运行前将所述新隐藏桌面名称通过参数传入完成补 丁在新隐藏桌面运行。
         值得注意的是, 所述安装单元 330 还可包括 ( 图中未示出 ) : 设置模块, 用于预设 对应的已录制的安装引导脚本 ; 发送模块, 用于发送录制好的安装引导脚本 ; 点击模块, 用 于利用所述安装引导脚本中已定义的窗口消息, 模拟鼠标点击相应窗口位置所产生的系统 消息, 完成模拟点击。
         其中, 所述设置模块包括 : 记录设备, 用于记录鼠标点击、 相应的工具获取点击窗 口的信息以及实际安装中的安装步骤 ; 录制设备, 用于根据所述记录设备记录的信息录制 安装引导脚本。
         尤其需要注意的是, 所述记录设备记录的窗口信息至少包括以下参数中的任意一 种: 窗口类名称、 窗口标题、 大小、 位置、 父窗口类名、 父窗口标题等。
         可以看出, 采用本发明上述实施例的方法或系统, 利用系统自带的函数开启另一 个新的隐藏桌面, 并在新开启的桌面中运行补丁安装程序, 通过模拟点击来实现补丁的自 动安装, 从而在保证了补丁成功安装的同时, 有效的避免了该补丁在安装过程中对当前桌 面的刷新和抢焦点, 从而保证了用户当前的工作能够正常进行。
         本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需 的通用硬件平台的方式来实现。基于这样的理解, 本发明实施例中的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品可以存 储在存储介质中, 如 ROM/RAM、 磁碟、 光盘等, 包括若干指令用以使得一台计算机设备 ( 可以 是个人计算机, 服务器, 或者网络设备等 ) 执行本发明各个实施例或者实施例的某些部分 所述的方法。
         本说明书中的各个实施例均采用递进的方式描述, 各个实施例之间相同相似的部 分互相参见即可, 每个实施例重点说明的都是与其他实施例的不同之处。 尤其, 对于系统实 施例而言, 由于其基本相似于方法实施例, 所以描述的比较简单, 相关之处参见方法实施例 的部分说明即可。
         以上所述的本发明实施方式, 并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。

    关 键  词:
    一种 实现 补丁 自动 安装 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种实现补丁自动安装的方法及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1032897.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1