拦截弹出窗口的方法和系统的制作方法

文档序号:6464504阅读:112来源:国知局
专利名称:拦截弹出窗口的方法和系统的制作方法
技术领域
本发明涉及计算才几领域,更具体地,涉及一种拦截弹出窗口的 方法和系统。
背景技术
目前,PC用户在需要安心工作或者需要演示等场合下经常受
到各种各样的弹出窗口的困扰,这类弹出窗口包括广告、无需关心
的通知(例如,无线网全各中断了,之后又连4妄上了等;Messager的 新用户上线等)、重要通知(例如,发现病毒,需要用户确认处理)。 用户期望前两种类型的弹出窗口都尽可能地;故阻止,而对第三种类 型的弹出窗口在大部分场合下还是需要的。
现有的对浏览器弹出窗口的处理方法为计算才几可以通过查询 一个或多个列表来对窗口进4于分类。并且可以实时更新这个列表以 优化计算才几程序并防止程序过时。该方法的实现步骤为计算冲几程序 检测窗口是否为向用户4是供产品的类型,如果是,则计算机提供一
个包含关于产品信息的单独的窗口。另外,计算机程序检测用户是 否具有计算机程序的需求,如果有,则通知用户之后将提供给用户 的计算机程序的功效。总之,计算机程序将阻止被认为是坏窗口的 窗口显示,同时允许被认为是好窗口的窗口显示。
目前主流浏览器都配备了弹出窗口的拦截功能,但其都只能拦 截浏览器插件或者通过网页弹出的窗口 ,而不能处理Windows、Mac OS x等系统中的其他软件(例如,应用程序和操作系统等)的 弹出窗口,使得用户仍然受到这类程序的弹出窗口的困扰。由于很 难将应用程序的正常窗口与待拦截窗口区分开,所以目前没有针对 这类问题的解决方法。

发明内容
鉴于以上所述的 一 个或多个问题,本发明^是供了 一种拦截弹出 窗口的方法和系统,以防止应用禾呈序或才喿作系统在用户安心工作或 在不希望^皮打4尤的场合下弹出用户所不期望的窗口 。
根据本发明实施例的拦截弹出窗口的方法,包括以下步骤获 取表征应用程序启动的程序启动信息;冲艮据程序启动信息判断是否 存在与应用程序相关的窗口拦截策略;当存在与应用程序相关的窗 口拦截策略时,4是取应用程序的至少一个窗口的第一窗口特征值; 将第 一 窗口特征值与已加载的特征描述文件内记录的第二窗口特 征值进行比较,产生一比较结果;以及根据比较结果执行与第一窗 口特4正^f直对应的动作。
其中,特征描述文件包括第二窗口特征值、和与第二窗口特 征值对应的窗口动作描述信息。
其中,第二窗口特《正值包括窗口配置表项信息、弹出窗口属 性信息、以及阻止窗口弹出函数信息;以及与第二窗口特征值对应 的动作描述信息包4舌表4iM奮改窗口配置表项的配置表项 <奮改信 息、表4i阻止弹出窗口在前台显示的窗口阻止^f言息、以及调用阻止 窗口弹出函^t的函凄t调用信息。
此外,程序启动信息具体为应用程序的第一程序名称;特征描 述文件包括应用程序的第二程序名称;根据程序启动信息判断是否存在与应用程序相关的窗口拦截策略的步骤具体为比较第 一程序 名称和第二程序名称,当存在与第 一程序名称相同的第二程序名称 时,得到判断结果为存在与应用程序相关的窗口拦截策略。
其中,窗口配置表项信息具体为窗口注册表项信息。
另夕卜,弹出窗口属性4言息包4舌窗口名、窗口类名、父窗口名以 及调用栈中的4壬一种或其组合。
窗口阻止信息具体为表征阻止窗口运行的第 一阻止信息或表 征将窗口以不可见的方式在后台运行的第二阻止信息。
根据本发明实施例的拦截弹出窗口的系统,包括拦截模块, 用于获取表征应用程序启动的程序启动信息,并4艮据程序启动信息 判断是否存在与应用程序相关的窗口拦截策略,当存在与应用程序 相关的窗口拦截策略时,提取应用程序的至少一个窗口的第一窗口 特征值;以及处理才莫块,与拦截4莫块相连,用于4妻收第一窗口特征 值,将第 一 窗口特4正值与已加载的特4i描述文件内记录的第二窗口 特征值进行比较,产生一比较结果,根据比较结果执行与第一窗口 净争4正4直^f应的动作。
其中,特征描述文件包括第二窗口特征值、和与第二窗口特 征值对应的窗口动作描述信息。
另外,第二窗口特征值包括窗口配置表项信息、弹出窗口属 性信息、以及阻止窗口弹出函数信息;以及与第二窗口特征值对应 的动作描述信息包括表征修改窗口配置表项的配置表项修改信 息、表;f正阻止弹出窗口在前台显示的窗口阻止信息、以及表4正调用 阻止窗口弹出函^:的函lt调用信息。其中,程序启动信息具体为应用程序的第一程序名称;特征描 述文件包括应用程序的第二程序名称;拦截模块包括判断单元, 用于比较第 一程序名称和第二程序名称,当存在与第 一程序名称相 同的第二程序名称时,得到判断结果为存在与应用程序相关的窗 口拦截策略。
其中,窗口配置表项信息具体为窗口注册表项信息。
弹出窗口属性zf言息包^舌窗口名、窗口类名、父窗口名以及调用 栈中的任一种或其组合。
另外,窗口阻止信息具体为表征阻止窗口运行的第一阻止信 息或表4正将窗口以不可见的方式在后台运4于的第二阻止4言息。
其中,处理模块包括配置表项单元,用于判断与第二窗口特 征值对应的动作描述信息是否为配置表项修改信息,当判断结果为 是的时候,根据配置表项修改信息修改与第 一窗口特征值对应的窗 口的配置表值。
可选地,处理才莫块还包括窗口弹出单元,用于判断与第二窗 口特征值对应的动作描述信息是否为弹出窗口属性信息,当判断结 果为是的时候,根据弹出窗口属性信息阻止与第 一窗口特征值对应 的窗口在前台显示。
可选地,处理才莫块还包括阻止函tt单元,用于判断与第二窗 口特征值对应的动作描述信息是否为阻止窗口弹出函数信息,当判 断结果为是的时候,根据阻止窗口弹出函数信息调用阻止窗口弹出 函凄t阻止与第一窗口特4正<直对应的窗口在前台显示。此外,系统还包括创建模块,用于创建拦截模块,并将拦截 模块注入到应用程序中;加载模块,与拦截模块和处理模块相连, 用于加载特征描述文件;更新才莫块,与加载才莫块相连,用于更新已 加载的特4正描述文件;以及卸载才莫块,用于在完成窗口拦截之后, 卸载拦截模块。
与已加载的特征描述文件进行比较来执行相应的拦截动作,以防止 应用程序或4乘作系统中弹出用户所不期望的窗口 , 乂人而,用户可以 安心工作而不受弹出窗口的干扰。


此处所说明的附图用来4是供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中
图1是根据本发明实施例的拦截弹出窗口的方法的流程图2是才艮据图1的本发明实施例的具体应用示意图3是根据本发明实施例的三种特征的树形结构示意图;以及
图4是根据本发明实施例的拦截弹出窗口的系统的框图。
具体实施例方式
下面参考附图,详细描述本发明的具体实施方式

图1是根据本发明实施例的拦截弹出窗口的方法的流程图。
ii如图1所示,本实施例包括以下步骤
S102,获取表征应用程序启动的程序启动信息;
S104,才艮据程序启动信息判断是否存在与应用程序相关的窗口 拦截策略;
S106,当存在与应用程序相关的窗口拦截策略时,提耳又应用程 序的至少一个窗口的第一窗口特征值;
S108,将第一窗口特征值与已加载的特征描述文件内记录的第 二窗口特征值进行比较,产生一比较结果;以及
S110 ,根据比较结果执行与第 一 窗口特征值对应的动作。
其中,特征描述文件包括第二窗口特征值、和与第二窗口特 征值对应的窗口动作描述信息。
其中,第二窗口特征值包括窗口配置表项信息、弹出窗口属 性信息、以及阻止窗口弹出函翁:信息;以及与第二窗口特^正值对应 的动作描述信息包括表征修改窗口配置表项的配置表项修改信 息、表4正阻止弹出窗口在前台显示的窗口阻止^f言息、以及调用阻止 窗口弹出函数的函数调用信息。
此外,程序启动信息具体为应用程序的第一程序名称;特征描 述文件包括应用程序的第二程序名称;4艮据程序启动信息判断是否 存在与应用程序相关的窗口拦截策略的步骤具体为比4交第 一程序 名称和第二程序名称,当存在与第 一程序名称相同的第二程序名称 时,得到判断结果为存在与应用程序相关的窗口拦截策略。
其中,窗口配置表项信息具体为窗口注册表项信息。另夕卜,弹出窗口属性^"息包4舌窗口名、窗口类名、父窗口名以 及调用栈中的任一种或其组合。
窗口阻止信息具体为表征阻止窗口运行的第一阻止信息或表 征将窗口以不可见的方式在后台运4亍的第二阻止信息。
<接下来描述本发明的另 一 个实施例。
本实施例提供了 一种基于特征定义和相应动作的弹出窗口拦 截方法,其包含特征描述文件、拦截模块以及拦截引擎,在应用程 序弹出窗口时,拦截引擎将与特征描述文件中定义的特征值进行比 寿交,如果相符,则4丸^f亍特4正定义所对应的动作,以阻止不期望窗口 的弹出。
其中,可以将本实施例的功能分为三个部分 (1 )定义特征文件
可以/人三个方面来定义弹出窗口的4争^正
(a) 控制是否弹出的注册表项(例如,MSN Messenger程序 就是在注册表中保存了 "当联系人上线时显示通知"、"收到即时消 息时显示通知"、以及"收到邮件时显示通知"等弹出窗口的配置), 或者控制是否弹出的配置文件表项;
(b) 窗口创建时的特征值(诸如,窗口名、类名、父窗口名、 以及调用栈等,其中,调用栈可以给出调用才莫块的参凄t和位置,在 某些情况下可以作为p眷一的特4正值);以及
(c) 一个特定的阻止才莫块,阻止才莫块导出一些函数,这些函 数可以在特定时刻执行禁止应用程序的窗口弹出代码段。具体到 一个窗口的特征定义,只可能采用上述三种特征中的一种。
(2 )拦截模块
拦截模块会注入到每个带有窗口的程序,并检查注入的应用程
序是否有对应的特征值定义,如果有,则对窗口创建等过程进4亍拦 截,提取每个拦截到的调用的特征值,并将特征值传递给拦截引擎。
(3) 拦截引擎
拦截引擎实现特征值比对,并执行与特征值相符的动作。不同 的特征采用不同的动作,例如,如果特征定义为注册表项,引擎将 修改注册表值;如果特征定义为窗口特征,引擎将阻止窗口显示、 或者以不可见方式在后台显示;如果特征定义为阻止模块,引擎将 动态加载并4丸4于阻止才莫块的函。
(4) 定义文件动态更新
在本实施例中只需维护特征定义文件,就可以阻止常见的弹出 窗口 ,并在新类型窗口出现后通过动态更新来实现窗口的拦截。
图2是4艮据图1的本发明实施例的具体应用示意图。
图3是根据本发明实施例的三种特征的树形结构示意图。
如图2、图3所示,该实施例的具体应用的工作过程如下
步骤一,拦截程序启动后会创建拦截模块,该模块将注入到每 个有窗口的程序中,同时启动拦截引擎,拦截引擎加载特征定义文 件,生成以应用程序和拦截窗口为索引的查找表;
14步骤二,对于每个应用程序中的拦截模块,其首先获得应用程
序的名称,然后查询拦截引擎的查找表是否需要对该应用程序进行 处理,如果需要,则调用拦截引擎完成该类动作。如果在拦截中没
有查找到针对该应用程序的信息,则拦截模块退出;
步骤三,拦截才莫块拦截窗口创建和窗口弹出等窗口 API (应用 程序接口 , Application Programming Interface ), 在应用程序调用这 些API时得到调用,然后提取每个拦截到的调用的特征值,并将特 征值传递给拦截引擎;
步骤四,对窗口创建和辅助模块类型的拦截,拦截引擎实现特 征比对,并执行与特征相符的动作,如果特征值相同,则阻止窗口 创建或显示,或者以不可见方式在后台显示,如果需要才丸4亍辅助才莫 块函数,则加载并执行辅助模块中的函数;以及
步骤五,拦截程序退出,卸载拦截^^莫块。
以下举例说明特征描述文件中所包含的内容
(l )拦截目标应用程序1的名字(应用程序名)
(a) 目标窗口 1的特4正,动作
(b) 目才示窗口2的特4£,动作
(c) 目标窗口 3的特4正,动作
(2)拦截目标应用程序2的名字(应用程序名) (a)目标窗口 1的特4正,动作(b)目标窗口2的特4正,动作
图4是根据本发明实施例的拦截弹出窗口的系统的框图。
如图4所示,该拦截弹出窗口的系统400包括拦截才莫块402, 用于获取表4正应用程序启动的考呈序启动信息,并冲艮据-呈序启动信息 判断是否存在与应用程序相关的窗口拦截策略,当存在与应用程序 相关的窗口拦截策略时,提取应用禾呈序的至少一个窗口的第一窗口 特征值;以及处理模块404,与拦截模块402相连,用于接收第一 窗口特征值,将第一窗口特征值与已加载的特征描述文件内记录的 第二窗口特征值进行比较,产生一比较结果,根据比较结果执行与 第 一窗口特征值对应的动作。
其中,特征描述文件包括第二窗口特征值、和与第二窗口特 征值对应的窗口动作描述信息。
另外,第二窗口特征值包括窗口配置表项信息、弹出窗口属 性信息、以及阻止窗口弹出函数信息;以及与第二窗口特征值对应 的动作描述信息包括表征修改窗口配置表项的配置表项修改信 息、表4正阻止弹出窗口在前台显示的窗口阻止信息、以及表4正调用 阻止窗口弹出函凄t的函凄t调用信息。
其中,程序启动信息具体为应用程序的第一程序名称;特征描 述文件包括应用程序的第二程序名称;拦截模块包括判断单元, 用于比较第 一程序名称和第二程序名称,当存在与第 一程序名称相 同的第二程序名称时,得到判断结果为存在与应用程序相关的窗 口拦截策略。
其中,窗口配置表项信息具体为窗口注册表项信息。弹出窗口属性信息包括窗口名、窗口类名、父窗口名以及调用 栈中的任一种或其组合。
另夕卜,窗口阻止信息具体为表4i阻止窗口运4亍的第一阻止信 息或表4正将窗口以不可见的方式在后台运4于的第二阻止信息。
其中,处理冲莫块包括配置表项单元,用于判断与第二窗口特 征值对应的动作描述信息是否为配置表项修改信息,当判断结果为 是的时候,根据配置表项修改信息修改与第 一窗口特征值对应的窗 口的配置表值。
可选地,处理才莫块还包括窗口弹出单元,用于判断与第二窗 口特征值对应的动作描述信息是否为弹出窗口属性信息,当判断结 果为是的时候,^f艮据弹出窗口属性信息阻止与第一窗口特征值对应 的窗口在前台显示。
处理才莫块还包括阻止函数单元,用于判断与第二窗口特征值 对应的动作描述信息是否为阻止窗口弹出函数信息,当判断结果为 是的时候,才艮据阻止窗口弹出函凄t信息调用阻止窗口弹出函数阻止 与第一窗口特征值对应的窗口在前台显示。
此外,系统还包括创建模块,用于创建拦截模块,并将拦截 模块注入到应用程序中;加载模块,与拦截模块和处理模块相连, 用于加载特征描述文件;更新模块,与加载模块相连,用于更新已 加载的特征描述文件;以及卸载才莫块,用于在完成窗口拦截之后, 卸载拦截模块。
综上所述,本发明可以通过将所截获的应用程序的特征值与已 加载的特征描述文件进行比较来#1行相应的拦截动作,以防止应用程序或4乘作系统中弹出用户所不期望的窗口 , 乂人而,用户可以安心 工作而不受弹出窗口的干^C。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对 于本领i或的l支术人员来i兌,本发明可以有各种更改和变4匕。凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均 应包含在本发明的权利要求范围之内。
18
权利要求
1.一种拦截弹出窗口的方法,其特征在于,所述方法包括以下步骤获取表征应用程序启动的程序启动信息;根据所述程序启动信息判断是否存在与所述应用程序相关的窗口拦截策略;当存在与所述应用程序相关的窗口拦截策略时,提取所述应用程序的至少一个窗口的第一窗口特征值;将所述第一窗口特征值与已加载的特征描述文件内记录的第二窗口特征值进行比较,产生一比较结果;以及根据所述比较结果执行与所述第一窗口特征值对应的动作。
2. 根据权利要求1所述的方法,其特征在于,所述特征描述文件 包括所述第二窗口特征值、和与所述第二窗口特4正值对应的 窗口动作描述信息。
3. 根据权利要求2所述的方法,其特征在于,所述第二窗口特征值包括窗口配置表项信息、弹出窗 口属性信息、以及阻止窗口弹出函数信息;以及所述与所述第二窗口特征值对应的动作描述信息包括 表征修改窗口配置表项的配置表项修改信息、表征阻止弹出窗 口在前台显示的窗口阻止信息、以及调用阻止窗口弹出函数的 函数调用信息。
4. 根据权利要求1所述的方法,其特征在于,所述程序启动信息 具体为所述应用程序的第一程序名称;所述特征描述文件包括 应用禾呈序的第二禾呈序名称;所述根据所述程序启动信息判断是否存在与所述应用程 序相关的窗口拦截策略的步骤具体为比较所述第一程序名称和所述第二程序名称,当存在与 所述第 一程序名称相同的所述第二程序名称时,得到判断结果 为存在与所述应用程序相关的窗口拦截策略。
5. 根据权利要求3所述的方法,其特征在于,所述窗口配置表项 信息具体为窗口注册表项信息。
6. 根据权利要求3所述的方法,其特征在于,所述弹出窗口属性 4言息包4舌窗口名、窗口类名、父窗口名以及调用栈中的4壬一种 或其组合。
7. 根据权利要求3所述的方法,其特征在于,所述窗口阻止信息 具体为表征阻止窗口运行的第 一 阻止信息或表征将窗口以不 可见的方式在后台运4亍的第二阻止信息。
8. —种4兰截弹出窗口的系统,其特;f正在于,所述系统包^":拦截模块,用于获取表征应用程序启动的程序启动信息, 并根据所述程序启动信息判断是否存在与所述应用程序相关 的窗口拦截策略,当存在与所述应用程序相关的窗口拦截策略 时,4是取所述应用程序的至少一个窗口的第一窗口特征值;以 及处理模块,与所述拦截模块相连,用于接收所述第一窗 口特征值,将所述第一窗口特征值与已加载的特征描述文件内记录的第二窗口特征值进行比较,产生一比较结果,根据所述 比專交结果扭J于与所述第 一窗口特征值对应的动作。
9. 根据权利要求8所述的系统,其特征在于,所述特征描述文件包括所述第二窗口特征值、和与所述第二窗口特;f正值对应的 窗口动作描述信息。
10. 根据权利要求9所述的系统,其特征在于,所述第二窗口特4正值包括窗口配置表项信息、弹出窗 口属性信息、以及阻止窗口弹出函数信息;以及所述与所述第二窗口特征值对应的动作描述信息包括 表征+务改窗口配置表项的配置表项》务改信息、表征阻止弹出窗 口在前台显示的窗口阻止4言息、以及表4正调用阻止窗口弹出函 凄t的函lt调用信息。
11. 根据权利要求8所述的系统,其特征在于,所述程序启动信息 具体为所述应用程序的第 一程序名称;所述特征描述文件包括 应用程序的第二程序名称;所述拦截模块包括判断单元,用于比较所述第一程序名称和所述第二程序 名称,当存在与所述第 一程序名称相同的所述第二程序名称 时,得到判断结果为存在与所述应用程序相关的窗口拦截策 略。
12. 根据权利要求10所述的系统,其特征在于,所述窗口配置表 项信息具体为窗口注册表项信息。
13. 根据权利要求10所述的系统,其特征在于,所述弹出窗口属 性信息包括窗口名、窗口类名、父窗口名以及调用栈中的任一 种或其組合。
14. 根据权利要求10所述的系统,其特征在于,所述窗口阻止信 息具体为表征阻止窗口运行的第 一阻止信息或表征将窗口以 不可见的方式在后台运4亍的第二阻止信息。
15. 根据权利要求10所述的系统,其特征在于,所述处理模块包 括配置表项单元,用于判断所述与所述第二窗口特征值对 应的动作描述信息是否为所述配置表项修改信息,当判断结果 为是的时候,根据所述配置表项修改信息修改与所述第一窗口 特征值对应的窗口的配置表值。
16. 根据权利要求10、 13、 14中任一项所述的系统,其特征在于, 所述处理一莫块还包括窗口弹出单元,用于判断所述与所述第二窗口特征值对 应的动作描述信息是否为所述弹出窗口属性信息,当判断结果 为是的时候,根据所述弹出窗口属性信息阻止与所述第 一 窗口 特征值对应的窗口在前台显示。
17. 根据权利要求10所述的系统,其特征在于,所述处理模块还 包括阻止函数单元,用于判断所述与所述第二窗口特征值对 应的动作描述信息是否为所述阻止窗口弹出函数信息,当判断 结果为是的时候,才艮据所述阻止窗口弹出函数信息调用阻止窗 口弹出函数阻止与所述第 一窗口特征值对应的窗口在前台显 示。
18. 根据权利要求8所述的系统,其特征在于,所述系统还包括创建模块,用于创建所述拦截模块,并将所述拦截模块 注入到所述应用禾呈序中;加载模块,与所述拦截模块和所述处理模块相连,用于加载所述特征描述文件;更新模块,与所述加载模块相连,用于更新所述已加载 的特4正描述文件;以及卸载模块,用于在完成窗口拦截之后,卸载所述拦截模块。
全文摘要
本发明提供了一种拦截弹出窗口的方法和系统。其中,根据本发明实施例的拦截弹出窗口的方法包括以下步骤获取表征应用程序启动的程序启动信息;根据程序启动信息判断是否存在与应用程序相关的窗口拦截策略;当存在与应用程序相关的窗口拦截策略时,提取应用程序的至少一个窗口的第一窗口特征值;将第一窗口特征值与已加载的特征描述文件内记录的第二窗口特征值进行比较,产生一比较结果;以及根据比较结果执行与第一窗口特征值对应的动作。因此,采用本发明的拦截弹出窗口的方法和系统,可以使用户不受弹出窗口的影响,从而能够安心工作或在某些场合下能不受弹出窗口的干扰。
文档编号G06F9/44GK101620529SQ200810116130
公开日2010年1月6日 申请日期2008年7月3日 优先权日2008年7月3日
发明者李洪伟, 峰 金 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1