一种模拟键盘输入的方法及装置制造方法及图纸

技术编号:9718486 阅读:191 留言:0更新日期:2014-02-27 05:07
本发明专利技术属于计算机技术领域,尤其涉及一种用软件模拟键盘的方法及装置。本发明专利技术所述的方法包括:在操作系统内核中创建虚拟键盘;建立所述虚拟键盘与用户层之间的通信接口;在所述用户层建立用户命令与虚拟键盘按键的对应关系;监听是否有用户命令到达,如果有,则根据所述对应关系,触发所述用户命令对应的虚拟键盘按键。本发明专利技术将虚拟键盘创建在操作系统内核级,采用内核驱动技术,使得模拟的击键消息不易被应用软件屏蔽,本发明专利技术所述的方法的软件兼容性强。

【技术实现步骤摘要】
一种模拟键盘输入的方法及装置
本专利技术属于计算机
,尤其涉及一种模拟键盘输入的方法及装置。
技术介绍
近年来,人们对办公、游戏自动化的需求越来越多,例如在软件测试行业,测试人员往往需要对软件进行大量重复、简单的操作,比如输入命令、输入网址等等,如果能使输入自动化,测试效率将大大提高。应此需求,市场上出现了很多办公、游戏自动化的软件,这类软件的基本原理大多数是基于一些虚拟键盘,或者使用钩子技术,用相应的指令控制虚拟设备完成一系列的动作,只需一个简单的动作即可完成很多复杂的操作,从而达到解放双手、提闻效率的目的。目前大部分用钩子技术实现的虚拟键盘,其原理是通过系统定义的HHOOK WINAPISetffindowsHookEx/(int idHook, H00KPR0C lpfn, HINSTANCE hMod, DWORD dwThreadld)函数,将一个动态链接库文件注册到系统接口中,当有键盘消息产生时,系统就会调用动态链接库中由Ipfn参数指定的回调函数,程序通过在回调函数中把系统传递的消息屏蔽,自己重新产生一个击键消息并沿着钩子链继续传递,或者直接修改系统传递的击键消息。另一种实现虚拟键盘的主流技术是通过系统定义的VOID WINAPI keybd_event (BYTE bVk, BYTEbScan, DWORD dwFlags, UL0NG_PTR dwExtralnfo)函数,来主动发送键盘击键消息。这些方法都是在操作系统用户级别下执行的,其模拟的击键消息容易被很多软件屏蔽,软件兼容性不强。
技术实现思路
鉴于此,本专利技术提供一种模拟键盘输入的方法及装置,该方法模拟的击键消息不易被应用软件屏蔽,使得该方法的软件兼容性强。本专利技术的技术方案:一种模拟键盘输入的方法,包括:定义欲模拟的按键,根据所述欲模拟的按键,在操作系统内核中创建虚拟键盘;为所述虚拟键盘加载驱动,建立所述虚拟键盘与用户层之间的通信接口 ;在所述用户层建立用户命令与虚拟键盘按键的对应关系;监听是否有用户命令到达,如果有,则根据所述对应关系,触发所述用户命令对应的虚拟键盘按键;否则,继续监听是否有用户命令到达。进一步地,所述按键为多媒体功能按键。进一步地,所述按键为普通键盘的按键。进一步地,所述定义欲模拟的按键的方式为通过HID描述符定义。一种模拟键盘输入的装置,包括:虚拟键盘创建单元,用于定义欲模拟的按键,根据所述欲模拟的按键,在操作系统内核中创建虚拟键盘;通信接口建立单元,用于为所述虚拟键盘加载驱动,建立所述虚拟键盘与用户层之间的通信接口;用户命令与虚拟键盘按键的对应关系建立单元,用于在所述用户层建立用户命令与虚拟键盘按键的对应关系;用户命令监听单元,用于监听是否有用户命令到达,如果有,则根据所述对应关系,触发所述用户命令对应的虚拟键盘按键;否则,继续监听是否有用户命令到达。进一步地,所述按键为多媒体功能按键。[0021 ] 进一步地,所述按键为普通键盘的按键。进一步地,所述定义欲模拟的按键的方式为通过HID描述符定义。本专利技术有益效果:本专利技术所述的方法包括:在操作系统内核中创建虚拟键盘;建立所述虚拟键盘与用户层之间的通信接口 ;在所述用户层建立用户命令与虚拟键盘按键的对应关系;监听是否有用户命令到达,如果有,则根据所述对应关系,触发所述用户命令对应的虚拟键盘按键。本专利技术将虚拟键盘创建在操作系统内核级,采用内核驱动技术,使得模拟的击键消息不易被应用软件屏蔽,本专利技术所述的方法的软件兼容性强。【附图说明】图1是本专利技术一种用软件模拟键盘的方法的流程图。图2是本专利技术一种用软件模拟键盘的装置的框图。【具体实施方式】为了更清楚地说明本专利技术的技术方案,下面结合附图并通过【具体实施方式】来进一步说明本专利技术的技术方案。参见图1,一种用软件模拟键盘的方法,包括:S101、定义欲模拟的按键,根据所述欲模拟的按键,在操作系统内核中创建虚拟键盘;步骤SlOl中,定义欲模拟的按键的具体方式为通过HID描述符;根据用户需求及市场的需求,可灵活定义欲模拟的按键。比如可定义普通键盘的按键:如主键盘区的按键,包括字母键、标点符号键、回车键(Enter)、大写字母锁定键(Cap Lock)、空格键、换挡键(Shift)、退格键(Backspace)、控制键(Ctrl)、转换键(Alt)和制表键(Tab);如小键盘区的按键;如功能键盘区的按键,包括自定义功能键(F1、……F12)、取消键(Esc)、屏幕打印键(Print Screen)、屏幕锁定键(Sroll Lock)、暂停 / 中止键(Pause/Break)、Page Up 和 Page Down 键、首键(Home)和尾键(End)、插入/改写建(Insert)、删除键(Delete)。也可以定义各种多媒体功能按键:如播放键、加大声音键、减小声音键、静音键、上一首音乐键、下一首音乐键、休眠键等等。根据用户需求及市场的需 求,灵活定义欲模拟的按键,使得本专利技术的方法具有良好的扩展性。根据所述欲模拟的按键,在操作系统内核中创建虚拟键盘:比如定义的欲模拟的按键为主键盘区的按键和功能键盘区的按键,则在操作系统内核中创建“主键盘区的按键和功能键盘区的按键”的虚拟键盘;比如定义的要模拟的按键为小键盘区的按键和功能键盘区的按键,则在操作系统内核中创建“小键盘区的按键和功能键盘区的按键”的虚拟键盘。S102、为所述虚拟键盘加载驱动,建立所述虚拟键盘与用户层之间的通信接口 ;步骤S102中,所述虚拟键盘创建在操作系统内核中,为虚拟键盘加载驱动为采用内核驱动技术,本专利技术将虚拟键盘创建在操作系统内核级,采用内核驱动技术,使得模拟的击键消息不易被应用软件屏蔽,使得本专利技术所述的方法的软件兼容性强。 为所述虚拟键盘加载驱动,驱动运行起来后,进行相应的初始化,建立所述虚拟键盘与用户层之间的通信接口。S103、在所述用户层建立用户命令与虚拟键盘按键的对应关系;步骤S103中,建立用户命令与虚拟键盘按键的对应关系,如下表格所示:本文档来自技高网...

【技术保护点】
一种模拟键盘输入的方法,其特征在于,包括:定义欲模拟的按键,根据所述欲模拟的按键,在操作系统内核中创建虚拟键盘;为所述虚拟键盘加载驱动,建立所述虚拟键盘与用户层之间的通信接口;在所述用户层建立用户命令与虚拟键盘按键的对应关系;监听是否有用户命令到达,如果有,则根据所述对应关系,触发所述用户命令对应的虚拟键盘按键;否则,继续监听是否有用户命令到达。

【技术特征摘要】
1.一种模拟键盘输入的方法,其特征在于,包括: 定义欲模拟的按键,根据所述欲模拟的按键,在操作系统内核中创建虚拟键盘; 为所述虚拟键盘加载驱动,建立所述虚拟键盘与用户层之间的通信接口 ; 在所述用户层建立用户命令与虚拟键盘按键的对应关系; 监听是否有用户命令到达,如果有,则根据所述对应关系,触发所述用户命令对应的虚拟键盘按键;否则,继续监听是否有用户命令到达。2.根据权利要求1所述模拟键盘输入的方法,其特征在于,所述按键为多媒体功能按键。3.根据权利要求1所述模拟键盘输入的方法,其特征在于,所述按键为普通键盘的按键。4.根据权利要求1所述模拟键盘输入的方法,其特征在于,所述定义欲模拟的按键的方式为通过HID描述符定义。5.—种模拟键盘输入的装置,其特征在于,包括: 虚拟...

【专利技术属性】
技术研发人员:曾理
申请(专利权)人:深圳雷柏科技股份有限公司
类型:发明
国别省市:

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

1