IE9双击标签页关闭当前选项卡的工具

如何实现IE9双击关闭当前标签页(Tab选项卡页面)的功能,实现这个功能的基本原理如下:

1、建立全局鼠标钩子,获取双击选项卡时候的消息,触发选项卡被双击的事件。

2、发送Ctrl+W键盘消息,触发快捷键功能关闭当前选项卡页面。

这里有几个问题需要解决:

如何获取鼠标双击事件:

通过spy++检测后发现,发现Tab栏是一个类型为DirectUIHWND的类,它是一个TabControl,本身并不支持鼠标双击消息,因此,需要自己根据MouseUP消息判断是否为双击消息(通过两次MouseUp的时间间隔来判断)。

如何判断是否双击的标签页:

由于创建的是全局钩子,所有的鼠标消息都会被截取到,因此这里要进行过滤。具体的条件为:鼠标触发点的控件类为DirectUIHWND,并且其进程为IE。

如何关闭当前标签页:

这个比较简单,直接调用keybd_event发送Ctrl+W即可。

实现这个功能并不困难,但我想把它集成到BHO中时,却遇到了一个问题——当IE开启了保护模式时,是无法收到全局鼠标钩子的消息的。

解决这个问题的方法有两种:

关闭保护模式

新写一个Hook程序实现鼠标消息的截取,然后在BHO中启动该进程。

方法1的方法降低了浏览器的安全性,自然不可取。方法2虽然可以解决这个问题,但是却多了一个附加进程,虽然可以把它隐藏起来,用户感知不到,但始终不大爽。权衡再三,最终还是选择了方法2。(我对windows编程不熟,如果有更好的方法请告知)

使用环境:Win 7+IE9+.net 4.0,其它环境无法执行。Win 7用户需安装.net 4.0后才能启动该程序。

使用方法:

打开IE9之后在手动启动该程序即可,启动后它便自动隐藏在后台(通过进程管理器可以查看到该程序,就不要不停的点了),然后就有了双击IE9标签页按钮关闭当前选项卡页面的功能了。当IE9关闭后,该程序也会自动关闭。

再介绍一个快速关闭选项卡的方法:在选项卡(标签)中点击鼠标中间的滚轮键,便可以关闭选项卡。小编感觉这个方法要比双击关闭的方法更快速吧。

(0)

相关推荐

  • 如何开启IE9游览器的多彩选项卡

    IE9推出也有一段时间了,不少使用Windows 7系统的朋友都已经更新到了这个最新的版本,除了速度快、界面简洁等特点之外,你有没有发现IE9的选项卡有了很大不同呢? 当你用IE9使用选项卡模式打开了 ...

  • 如何在IE9中恢复"快速导航选项卡"的功能

    具体的描述:IE8中,“快速导航”,指的是“快速导航选项卡”,在打开多个“选项卡”的时候,位于“选项卡栏”最左侧就会出现这个“快速导航选项卡”。 单击之后的效果: 同样也可以通过“ Ctrl + Q ...

  • win7系统下关闭IE选项卡浏览模式的方法

    我们在使用IE浏览器时,默认都是使用选项卡浏览的,这样使得我们的浏览更加方便.不过,使用选项卡浏览很容易导致误关.那么,一些用户就想不使用选项卡浏览,那么,该如何设置呢? 设置方法: 1.打开IE浏览 ...

  • IE8/IE9中如何添加货币转换查询工具

    相信现在有越来越多的用户开始选择海外购物了,因为很多东西确认比国内性价比更好。但是因为国外的购物网站显示的为外币价格,需要通过查询汇率以后才能知道确切是多少RMB。 这里小编为大家推荐一款IE加速器, ...

  • 三种方法解决关闭xp自动更新工具的问题

    方法一 鼠标左键点击桌面左下角的开始菜单按钮,然后在出现的上拉菜单上面点击设置,然后在设置的侧拉菜单上面点击控制面板 点击控制面板以后会出现控制面板窗口,在控制面板窗口里面点击安全中心 点击安全中心以 ...

  • ie9重新打开已关闭的网页操作方法

    如果您正在使用IE9浏览网页,不小心关掉了正在看的网页,或者您想重新打开已关闭的网页,这时可以在IE9中打开一个“新建选项卡”,或使用快捷键“Ctrl+T”快速新建一个空白选项卡页。 然后在“新建选项 ...

  • IE9怎么重新打开已关闭的网页

    如果您正在使用IE9浏览网页,不小心关掉了正在看的网页,或者您想重新打开已关闭的网页,这时可以在IE9中打开一个“新建选项卡”,或使用快捷键“Ctrl+T”快速新建一个空白选项卡页。 然后在“新建选项 ...

  • IE9多彩选项卡设置

    不知道大家有没有发现,当我们在IE9浏览器打开多个选项卡时,各个选项卡会呈现各种颜色,那么这些选项卡的颜色是什么含义呢?这就是IE8/IE9的彩选项卡功能。通过选项卡呈现不同的颜色,对源于同一网站的一 ...

  • Windows7系统下IE8启用或禁用关闭多个选项卡时发出的警告(图文教程)

    Windows7系统下IE8启用或禁用关闭多个选项卡时发出的警告(图文教程)