一种热键实现方法、装置及电子设备制造方法及图纸

技术编号:14116731 阅读:33 留言:0更新日期:2016-12-07 23:05
本发明专利技术的实施例公开一种热键实现方法、装置及电子设备,涉及按键操作技术领域,能够有效防止热键因操作系统的控制使用而被覆盖或被恶意程序破所破坏。所述热键实现方法,包括:钩子函数读取用户的按键操作信息;其中,所述钩子函数挂钩于按键处理驱动程序的读取例程函数;所述钩子函数判断所述按键操作信息是否命中预设的热键规则;若所述按键操作信息命中预设的热键规则,则所述钩子函数触发预设的按键事件处理函数。所述装置和电子设备中包括实现上述方法步骤的模块。本发明专利技术适用于对操作系统环境的保护。

【技术实现步骤摘要】

本专利技术涉及按键操作
,尤其涉及一种热键实现方法、装置及电子设备
技术介绍
随着互联网技术发展,软件设计更加科学,更加人性化,更能满足用户使用习惯,软件热键设置就是一种方便使用软件的方法,比如QQ的Ctr+Alt+A是截屏功能。热键,又叫快捷键或快速键,指通过某些特定的按键、按键顺序或按键组合来完成一个操作,很多热键往往与如Ctrl键、Shift键、Alt键、Fn键以及Windows平台下的Windows键和Mac机上的Meta键等配合使用。利用热键可以代替鼠标做一些工作,可以利用键盘热键打开、关闭和导航“开始”菜单、桌面、菜单、对话框以及网页,Word里面也可以用到热键。现有技术方案中,是通过上层应用程序来实现软件热键功能的设置的,设置过程包括;使用windows函数GlobalAddAtom取得热键的唯一标识,调用RegisterHotKey注册一个热键,比如想设置ALT+F8的按键的热键,就调用RegisterHotKey(窗口句柄,热键的唯一标识,MOD_ALT,VK_F8),最后处理窗口的响应热键的事件即可完成整个热键的设置。现有的这种实现热键的方案,在为多个软件设置热键时,容易导致先设置的热键被覆盖的问题,比如A,B两个软件都注册了ALT+F8的热键,那么操作系统就会控制使用最后注册的一个软件,A先注册的话,就会是后注册的B的热键生效。此外,现有实现热键的方案是上层应用程序实现的热键功能,恶意程序查找窗口的热键注册函数和窗口的事件处理函数,容易被恶意程序破坏热键设置,破坏热键的响应事件。
技术实现思路
有鉴于此,本专利技术实施例提供一种热键实现方法、装置及电子设备,能够有效防止热键因操作系统的控制使用而被覆盖或被恶意程序破所破坏。第一方面,本专利技术实施例提供一种热键实现方法,包括:钩子函数读取用户的按键操作信息;其中,所述钩子函数挂钩于按键处理驱动程序的读取例程函数;所述钩子函数判断所述按键操作信息是否命中预设的热键规则;若所述按键操作信息命中预设的热键规则,则所述钩子函数触发预设的按键事件处理函数。结合第一方面,在第一方面的第一种可实施方式中,所述操作系统为Windows操作系统;所述钩子函数挂钩于按键处理驱动程序KbdClass中名称为IRP_MJ_READ的读取例程函数。结合第一方面或第一方面的第一种可实施方式,在第一方面的第二种可实施方式中,在所述钩子函数读取用户的按键操作信息之前,所述方法还包括:所述钩子函数截获操作系统发给所述按键处理驱动程序的读取按键操作信息的I/O请求包;其中,所述钩子函数读取用户的按键操作信息包括:所述钩子函数根据截获的所述读取按键操作信息的I/O请求包,读取用户的按键操作信息。结合第一方面的第二种可实施方式,在第一方面的第三种可实施方式中,所述钩子函数读取用户的按键操作信息之后,所述方法还包括:所述钩子函数调用所述钩子函数的读取完成回调函数,将读取的所述按键操作信息填入所述I/O请求包中传给所述读取完成回调函数;其中,所述读取完成回调函数中预设有所述热键规则,所述I/O请求包中包括的按键数据结构包括表示按下或抬起的字段和表示键盘扫描码的字段;其中,所述钩子函数判断所述按键操作信息是否命中预设的热键规则,包括:所述钩子函数的读取完成回调函数判断所述按键操作信息是否命中预设的热键规则。结合第一方面,在第一方面的第四种可实施方式中,所述热键规则包括:按键组合、前后两个按键按下的时间间隔是否满足预定阈值。第二方面,本专利技术实施例提供一种热键实现装置,用于挂钩于按键处理驱动程序的读取例程函数,所述热键实现装置,包括:读取模块,用于读取用户的按键操作信息;判断模块,用于判断所述按键操作信息是否命中预设的热键规则;触发模块,用于若所述按键操作信息命中预设的热键规则,则所述钩子函数触发预设的按键事件处理函数。结合第二方面,在第二方面的第一种可实施方式中,所述操作系统为Windows操作系统;所述热键实现装置用于挂钩于按键处理驱动程序KbdClass中名称为IRP_MJ_READ的读取例程函数。结合第二方面或第二方面的第一种可实施方式,在第二方面的第二种可实施方式中,所述的热键实现装置,还包括:拦截模块,用于截获操作系统发给所述按键处理驱动程序的读取按键操作信息的I/O请求包;其中,所述读取模块,用于根据截获的所述读取按键操作信息的I/O请求包,读取用户的按键操作信息。结合第二方面的第二种可实施方式,在第二方面的第三种可实施方式中,所述装置还包括:调用模块,用于在所述读取模块读取用户的按键操作信息之后,调用读取完成回调函数,将读取的所述按键操作信息填入所述I/O请求包中传给所述读取完成回调函数;其中,所述读取完成回调函数中预设有所述热键规则,所述I/O请求包中包括的按键数据结构包括表示按下或抬起的字段和表示键盘扫描码的字段;其中,所述判断模块,具体用于通过所述读取完成回调函数判断所述按键操作信息是否命中预设的热键规则。结合第二方面,在第二方面的第四种可实施方式中,所述热键规则包括:按键组合、前后两个按键按下的时间间隔是否满足预定阈值。第三方面,本专利技术实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一可实施方式所述的热键实现方法。本专利技术实施例提供的热键实现方法、装置及电子设备,通过挂钩于按键处理驱动程序的读取例程函数的钩子函数,读取用户的按键操作信息,判断所述按键操作信息是否命中预设的热键规则,若所述按键操作信息命中预设的热键规则,则触发预设的按键事件处理函数,这样在驱动程序中不使用系统函数来实现热键功能,既能够避免由操作系统的控制使用所产生热键覆盖的问题,又不容易被恶意程序发现和破坏,有利于热键实现的安全性和稳定性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术热键实现方法实施例一的流程示意图;图2为本专利技术热键实现方法实施例二的流程示意图;图3为本专利技术热键实现方法实施例三的流程示意图;图4为本专利技术热键实现装置实施例一的结构示意图;图5为本专利技术热键实现装置实施例二的结构示意图;图6为本专利技术热键实现装置实施例三的结构示意图;图7为本专利技术电子设备一个实施例的结构示意图。具体实施方式下面结合附图对本专利技术实施例进行详细描述。应当明确,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术防护的范围。本专利技术实施例提供的热键实现方法、装置及电子设备,可应用于个人PC(personal computer)等电子设备上,在键盘的按键处理驱动程序中实现。下面首先介绍一本文档来自技高网...
一种热键实现方法、装置及电子设备

【技术保护点】
一种热键实现方法,其特征在于,包括:钩子函数读取用户的按键操作信息;其中,所述钩子函数挂钩于按键处理驱动程序的读取例程函数;所述钩子函数判断所述按键操作信息是否命中预设的热键规则;若所述按键操作信息命中预设的热键规则,则所述钩子函数触发预设的按键事件处理函数。

【技术特征摘要】
1.一种热键实现方法,其特征在于,包括:钩子函数读取用户的按键操作信息;其中,所述钩子函数挂钩于按键处理驱动程序的读取例程函数;所述钩子函数判断所述按键操作信息是否命中预设的热键规则;若所述按键操作信息命中预设的热键规则,则所述钩子函数触发预设的按键事件处理函数。2.根据权利要求1所述的热键实现方法,其特征在于,所述操作系统为Windows操作系统;所述钩子函数挂钩于按键处理驱动程序KbdClass中名称为IRP-MJ-READ的读取例程函数。3.根据权利要求1或2所述的热键实现方法,其特征在于,在所述钩子函数读取用户的按键操作信息之前,所述方法还包括:所述钩子函数截获操作系统发给所述按键处理驱动程序的读取按键操作信息的I/0请求包;其中,所述钩子函数读取用户的按键操作信息包括:所述钩子函数根据截获的所述读取按键操作信息的I/0请求包,读取用户的按键操作信息。4.根据权利要求3所述的热键实现方法,其特征在于,所述钩子函数读取用户的按键操作信息之后,所述方法还包括:所述钩子函数调用所述钩子函数的读取完成回调函数,将读取的所述按键操作信息填入所述I/0请求包中传给所述读取完成回调函数;其中,所述读取完成回调函数中预设有所述热键规则,所述I/0请求包中包括的按键数据结构包括表示按下或抬起的字段和表示键盘扫描码的字段;其中,所述钩子函数判断所述按键操作信息是否命中预设的热键规则,包括:所述钩子函数的读取完成回调函数判断所述按键操作信息是否命中预设的热键规则。5.根据权利要求1所述的热键实现方法,其特征在于,所述热键规则包括:按...

【专利技术属性】
技术研发人员:李文靖
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

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

1