CN103257893B - 一种获取输入事件状态的方法、装置和系统 - Google Patents

一种获取输入事件状态的方法、装置和系统 Download PDF

Info

Publication number
CN103257893B
CN103257893B CN201310204030.XA CN201310204030A CN103257893B CN 103257893 B CN103257893 B CN 103257893B CN 201310204030 A CN201310204030 A CN 201310204030A CN 103257893 B CN103257893 B CN 103257893B
Authority
CN
China
Prior art keywords
event
input state
state
serviced
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310204030.XA
Other languages
English (en)
Other versions
CN103257893A (zh
Inventor
龙兴平
罗学成
欧瑞清
万茂武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310204030.XA priority Critical patent/CN103257893B/zh
Publication of CN103257893A publication Critical patent/CN103257893A/zh
Priority to PCT/CN2014/072523 priority patent/WO2014190788A1/en
Priority to US14/871,726 priority patent/US9489248B2/en
Application granted granted Critical
Publication of CN103257893B publication Critical patent/CN103257893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施方式提出一种获取输入事件状态的方法、装置和系统。方法包括:运行服务进程和被服务进程,将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。本发明实施方式通过高权限的服务进程获取当前输入事件状态,便于其他进程进行相关操作,提高了进程的运行效率。

Description

一种获取输入事件状态的方法、装置和系统
技术领域
本发明实施方式涉及计算机技术领域,更具体地,涉及一种获取输入事件状态的方法、装置和系统。
背景技术
操作系统是管理各种计算机硬件资源、控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,提供了各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口。
进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念和活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。进程需要受到权限的控制和保护。出于安全性的考虑,一个用户通常不能消除其他用户启动的进程,而一个进程也不能非法存取其他进程的文件数据。
在现有技术中,普通权限运行的进程不能获取高权限运行的进程所拥有的输入事件状态(比如键盘按键状态或鼠标状态),这样可能造成普通权限的进程功能无法正常运行,从而降低了进程的运行效率。
发明内容
本发明实施方式提出一种获取输入事件状态的方法,以提高进程的运行效率。
本发明实施方式提出一种获取输入事件状态的装置,以提高进程的运行效率。
本发明实施方式提出一种获取输入事件状态的系统,以提高进程的运行效率。
本发明实施方式的技术方案如下:
一种获取输入事件状态的方法,该方法包括:
运行服务进程和被服务进程,将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;
该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。
一种获取输入事件状态的装置,包括进程运行单元、设置单元和状态发送单元,其中:
进程运行单元,用于运行服务进程和被服务进程;
设置单元,用于将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;
状态发送单元,用于使能该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。
一种获取输入事件状态的系统,包括当前焦点进程运行单元、服务进程运行单元和被服务进程运行单元;
当前焦点进程运行单元,用于运行当前焦点进程;
被服务进程运行单元,用于运行被服务进程;
服务进程运行单元,用于运行服务进程,并设置有上报输入事件列表,该服务进程的权限设置为高于被服务进程,而且该服务进程的权限设置为高于或等于当前焦点进程;
服务进程运行单元,还用于获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程运行单元;当判定该输入事件状态不属于所述输入事件列表时,向当前焦点进程运行单元发送所述输入事件状态。
从上述技术方案可以看出,在本发明实施方式中,运行服务进程和被服务进程,将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。由此可见,应用本发明实施方式之后,通过一种由高权限服务进程获取系统当前输入事件状态(比如键盘按键状态或鼠标状态)的技术方案,便于其他进程进行相关操作,从而提高了进程的运行效率。
而且,本发明实施方式具有高效率,并不影响操作系统其他进程对键盘按键等输入事件的处理。
附图说明
图1为根据本发明实施方式获取输入事件状态的方法流程图;
图2为根据本发明实施方式服务进程安装流程图;
图3为根据本发明实施方式服务进程运行流程图;
图4为根据本发明实施方式被服务进程运行流程图;
图5为根据本发明实施方式获取输入事件状态的方法实例流程图;
图6为根据本发明实施方式获取输入事件状态的装置结构图;
图7为根据本发明实施方式获取输入事件状态的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
在现有技术中,普通权限运行的进程不能获取高权限运行的进程所拥有的输入事件状态(比如键盘按键状态或鼠标状态),这样可能造成普通权限进程的诸多功能无法正常运行,从而降低了进程的运行效率。
比如:现在许多玩游戏的用户通常会使用语音通信软件进行实时多人通话。游戏进程通常运行在操作系统的高权限状态,而语音通信进程的运行权限较低。在对权限控制不严格的操作系统中,游戏用户可以按住键盘某个预设键进行说话,语音通信进程检测到用户按住该预设键后,发送语音给其他游戏用户。
然而,随着windows7等对用户操作权限有严格控制的操作系统普及,运行于普通权限的进程一般不能获取高权限运行的进程相关状态,这就造成当游戏进程运行时,语音通信软件无法获取按键状态,从而无法发送语音给其他用户。在Windows7等严格控制用户操作权限的操作系统中,在用户每步操作中都会检查相关权限,判断是否有权限才能操作,或者在没有权限操作的情况下不返回正确的结果。
如果采用操作系统全局键盘钩子或者操作系统提供的“热键”API或当前键盘按键状态等方式来尝试解决该问题,不但可能影响到操作系统中其他进程对键盘按键事件处理,还显著增加了系统耗时。
在本发明实施方式中,通过一种高权限服务进程获取系统当前输入事件状态(比如键盘按键状态或鼠标状态)的技术方案,便于其他进程进行相关操作,从而提高进程的运行效率。
图1为根据本发明实施方式获取输入事件状态的方法流程图。
如图1所示,该方法包括:
步骤101:运行服务进程和被服务进程,将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表。
在这里,可以通过启动安装程序来安装服务进程。对于Windows等操作系统,可以根据程序的启动要求或是否为安装程序提升运行进程的权限,此过程会出现一个窗口提示,需要电脑操作用户交互式确认。首先可以为安装程序申请高权限,接着该安装程序再安装服务进程,并且设置服务进程运行的权限为高权限,服务进程的运行权限至少高于被服务进程的运行权限。
高权限运行的服务进程有权限获取同等或以下权限的进程其输入事件状态(比如键盘按键状态或鼠标按键状态),并把获得的输入事件状态通过进程间通信机制发送给需要获取键盘按键状态的其他进程。
另外,在该服务进程中设置上报输入事件列表。在上报输入事件列表中设置有需要上报到被服务进程的输入事件。输入事件可以为键盘按键状态或鼠标状态。
比如,可以在上报输入事件列表中设置一些特定的按键或组合键,当这些特定的按键或组合键被用户触发时,才将些特定的按键或组合键的相应键值发送给被服务器进程,从而避免盲目向被服务器进程发送无关的输入事件。
步骤102:该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。
在这里,被服务进程在获取该输入事件状态之后,进一步根据所述输入事件状态执行输入事件状态处理。
实际上,服务进程还可以创建与其具有同等权限的、具有获取设备状态以及响应操作系统事件功能的服务子进程,并由该服务子进程来获取输入事件状态,并当该服务子进程判定输入事件状态属于所述输入事件列表时,将该输入事件状态发送给被服务进程。
在本发明实施方式中,当被服务进程的数目为多个时,服务进程可以具体包括多个服务子进程,而且每个服务子进程可以对应于一或多个被服务进程,并且每个服务子进程都具有获取输入事件状态,并发送到相对应的服务进程的功能。
在一个实施方式中,该方法进一步包括:将该服务进程的权限设置为高于或等于当前焦点进程;
该方法进一步包括:向该当前焦点进程发送所述输入事件状态。
在一个实施方式中:
所述输入事件状态为:键盘按键状态和/或鼠标按键状态;
该服务进程获取输入事件状态包括:该服务进程通过应用程序编程接口API命令GetAsyncKeyState(),根据预先设置的定时时间获取键盘按键状态和/或鼠标按键状态。
以上详细说明了根据GetAsyncKeyState()来获取键盘按键状态和/或鼠标按键状态的实例,本领域技术人员可以意识到,本发明实施方式并不局限于GetAsyncKeyState()I命令,而是可以采用其他的API命令,本发明对此并无限定。
类似地,以上以操作系统Windows7为实例对本发明实施方式进行了详细说明。本领域技术人员可以意识到,本发明实施方式并不局限于Windows7操作系统,而是可以适用于任意对权限管理严格的操作系统,本发明对此并无限定
在一个实施方式中:上报输入事件列表包括:被服务进程期望获取的键盘按键值。此时,所述该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程包括:
该服务进程获取键盘按键值,并判断所获取的键盘按键值是否属于被服务进程期望获取的键盘按键值,如果是,则将键盘按键值发送给所述被服务进程,如果不是,则结束本流程。
在一个实施方式中,上报输入事件列表包括:被服务进程期望获取的鼠标按键值。此时,所述该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程包括:
该服务进程获取鼠标按键值,并判断所获取的鼠标按键值是否属于被服务进程期望获取的鼠标按键值,如果是,则将鼠标按键值发送给所述被服务进程,如果不是,则结束本流程。
图2为根据本发明实施方式服务进程安装流程图。
如图2所示,该方法包括:
步骤201:启动安装程序来安装服务进程,而且安装程序获取高权限。
对于Windows等操作系统,可以根据程序的启动要求或是否为安装程序来提升运行进程的权限,此过程会出现一个窗口提示,需要电脑操作用户交互式确认。
步骤202:该安装程序安装服务进程。
步骤203:设置服务进程运行的权限为高权限,至少高于被服务进程的运行权限。
当服务进程安装完毕之后,可以运行该服务进程。服务进程可以被需要获取输入事件状态(举例,键盘按键输入事件)的进程启动。当服务进程启动后,可以检查是否接收到设置按键值,如果是,则将设置按键值加入上报输入事件列表。服务进程同时平行判定定时器时间间隔是否到达,如果定时器时间间隔到达,则服务进程扫描键盘按键状态,并发送返回值给设定的被服务进程。当所有需要获取输入事件状态的进程要求代理进程停止运行时,代理进程停止运行。
图3为根据本发明实施方式服务进程运行流程图。
如图3所示,该方法包括:
步骤301:开始运行服务进程。此时,服务进程可以执行两个并行的分支流程,一个分支是步骤302~303,另一分支是步骤304~305。
步骤302:服务进程接收由被服务进程设置的上报输入事件列表。
在被服务进程设置的上报输入事件列表中,设置有需要上报到被服务进程的输入事件。输入事件可以具体为键盘按键状态或鼠标状态。比如,被服务进程可以在上报输入事件列表中设置一些特定的按键或组合键,当这些特定的按键或组合键被用户触发时,服务进程才将些特定的按键或组合键的相应键值发送给被服务器进程,从而避免服务进程盲目向被服务器进程发送无关的输入事件。
步骤303:服务进程将被服务进程所编辑的输入事件变更到上报输入事件列表中。
步骤304:判断获取输入事件状态的定时时间是否已经到达。
步骤305:当定时时间已经到达时,服务进程通过应用程序编程接口API命令GetAsyncKeyState(),根据预先设置的定时时间获取输入时间状态(键盘按键状态和/或鼠标按键状态)。
步骤306:服务进程判断获取的输入时间状态是否属于被上报输入时间列表中,如果是,将该输入事件状态发送给被服务进程运行单元;如果不是,则结束本流程。
步骤307:判断是否结束服务进程,如果是,则结束服务进程,否则返回执行步骤301。
下面再详细说明被服务流程的运行过程。图4为根据本发明实施方式被服务进程运行流程图。
如图4所示,该方法包括:
步骤401:启动被服务进程。
步骤402:判断服务进程是否已经被启动,如果是,则执行步骤404及其后续步骤,如果不是,则执行步骤403及其后续步骤。
步骤403:启动服务进程。
步骤404:在服务进程中设置上报输入事件列表。
步骤405:等待由服务进程所提供的输入事件状态。
步骤406:被服务进程在获取输入事件状态之后,根据输入事件状态执行输入事件状态处理。
下面以游戏运行场景具体说明本发明实施方式。在该场景中,玩游戏的用户期望使用语音通信软件进行实时的多人通话。
图5为根据本发明实施方式获取输入事件状态的方法实例流程图。
在图5中,进程A为游戏进程,进程B为服务进程,进程C为语音进程,进程C同时还是被服务进程。进程A为游戏进程,具有较高的运行权限,通常占据有操作系统焦点。当进程B没有被启动时,键盘按键状态信息默认由操作系统发送给进程A。
当进程C期望获取键盘按键状态信息时,进程C可以启动进程B。进程B具有较高的运行权限。进程B的运行权限高于或者等于进程A,而且进程B的运行权限高于进程C。进程C可以在进程B中设置需要上报的按键状态值列表。当按键状态值列表中的按键被触发时,期望进程B可以向进程C提供该按键被触发的状态消息。进程B可以通过定时器机制,定时主动从操作系统获取当前键盘按键状态消息。
操作系统判断进程B和进程A之间的权限大小,并当发现进程B的权限高于或等于进程A的时候,允许向进程B提供当前键盘按键状态消息。
基于上述详细分析,本发明实施方式还提出了一种获取输入事件状态的装置。
图6为根据本发明实施方式获取输入事件状态的装置结构图。
如图6所示,该装置包括进程运行单元601、设置单元602和状态发送单元603,其中:
进程运行单元601,用于运行服务进程和被服务进程;
设置单元602,用于将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;
状态发送单元603,用于使能该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。
在一个实施方式中:
设置单元602,进一步用于将该服务进程的权限设置为高于或等于当前焦点进程;
状态发送单元603,进一步用于向当前焦点进程发送输入事件状态。
在一个实施方式中:
进一步包括状态处理单元604;
状态处理单元604,用于使能被服务进程在获取该输入事件状态之后,根据所述输入事件状态执行输入事件状态处理。
在一个实施方式中:
所述输入事件状态为:键盘按键状态和/或鼠标按键状态;
状态发送单元603,用于使能该服务进程通过应用程序编程接口API命令GetAsyncKeyState(),根据预先设置的定时时间获取键盘按键状态和/或鼠标按键状态。
在一个实施方式中:
所述上报输入事件列表包括:被服务进程期望获取的键盘按键值;
状态发送单元603,用于使能该服务进程获取键盘按键值,并判断所获取的键盘按键值是否属于被服务进程期望获取的键盘按键值,如果是,则将键盘按键值发送给所述被服务进程,如果不是,则不将键盘按键值发送给所述被服务进程。
在一个实施方式中:
所述上报输入事件列表包括:被服务进程期望获取的鼠标按键值;
状态发送单元603,用于使能该服务进程获取鼠标按键值,并判断所获取的鼠标按键值是否属于被服务进程期望获取的鼠标按键值,如果是,则将鼠标按键值发送给所述被服务进程,如果不是,则不将鼠标按键值发送给所述被服务进程。
基于上述详细分析,本发明实施方式还提出了一种获取输入事件状态的系统。
图7为根据本发明实施方式获取输入事件状态的系统结构图。
如图7所示,该系统包括当前焦点进程运行单元701、服务进程运行单元702和被服务进程运行单元703;
当前焦点进程运行单元701,用于运行当前焦点进程;
被服务进程运行单元702,用于运行被服务进程;
服务进程运行单元703,用于运行服务进程,并设置有上报输入事件列表,该服务进程的权限设置为高于被服务进程,而且该服务进程的权限设置为高于或等于当前焦点进程;
服务进程运行单元703,还用于获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程运行单元;当判定该输入事件状态不属于所述输入事件列表时,向当前焦点进程运行单元发送所述输入事件状态。
在一个实施方式中:
该当前焦点进程运行单元701,用于运行游戏进程;被服务进程运行单元702,用于运行语音进程。
实际上,可以通过多种形式来具体实施本发明实施方式所提出的获取输入事件状态的方法、装置和系统。
比如,可以遵循一定规范的应用程序接口,将获取输入事件状态的方法编写为插件程序,也可以将其封装为应用程序以供用户自行下载使用。当编写为插件程序时,可以将其实施为ocx、dll、cab等多种插件形式。也可以通过Flash插件、RealPlayer插件、MMS插件、MI五线谱插件、ActiveX插件等具体技术来实施本发明实施方式所提出获取输入事件状态的方法、装置和系统。
用户可以在各种终端上获取输入事件状态,这些终端可以包括但是不局限于:功能手机、智能手机、掌上电脑、个人电脑(PC)、平板电脑或个人数字助理(PDA),等等。
以上虽然详细罗列了终端的具体实例,本领域人员可以意识到,这些罗列仅是阐述目的,并不用于限定本发明实施方式的保护范围。
可以通过指令或指令集存储的储存方式将本发明实施方式所提出的获取输入事件状态的方法存储在各种存储介质上。这些存储介质包括但是不局限于:软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(MemoryStick)、xD卡等。
另外,还可以将本发明实施方式所提出的获取输入事件状态的方法应用到基于闪存(Nandflash)的存储介质中,比如U盘、CF卡、SD卡、SDHC卡、MMC卡、SM卡、记忆棒、xD卡等。
综上所述,在本发明实施方式中,运行服务进程和被服务进程,将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;该服务进程获取输入事件状态,并当判定该输入事件状态属于所述输入事件列表时,将该输入事件状态发送给所述被服务进程。由此可见,应用本发明实施方式之后,通过一种高权限服务进程获取系统当前输入事件状态(比如键盘按键状态或鼠标状态)的技术方案,便于其他进程进行相关操作,从而提高进程的运行效率。而且,本发明实施方式具有高效率,并不影响操作系统其他进程对键盘按键等输入事件的处理。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种获取输入事件状态的方法,其特征在于,该方法包括:
运行服务进程和被服务进程,将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;
该服务进程获取输入事件状态,并当判定该输入事件状态属于所述上报输入事件列表时,将该输入事件状态发送给所述被服务进程;
该方法进一步包括:将该服务进程的权限设置为高于或等于当前焦点进程;
该方法进一步包括:当判定该输入事件状态不属于所述上报输入事件列表时,向该当前焦点进程发送所述输入事件状态。
2.根据权利要求1所述的获取输入事件状态的方法,其特征在于,该方法进一步包括:
被服务进程在获取该输入事件状态之后,进一步根据所述输入事件状态执行输入事件状态处理。
3.根据权利要求1所述的获取输入事件状态的方法,其特征在于,所述输入事件状态为:键盘按键状态和/或鼠标按键状态;
该服务进程获取输入事件状态包括:
该服务进程通过应用程序编程接口API命令GetAsyncKeyState(),根据预先设置的定时时间获取键盘按键状态和/或鼠标按键状态。
4.根据权利要求1所述的获取输入事件状态的方法,其特征在于,所述上报输入事件列表包括:被服务进程期望获取的键盘按键值;
所述该服务进程获取输入事件状态,并当判定该输入事件状态属于所述上报输入事件列表时,将该输入事件状态发送给所述被服务进程包括:
该服务进程获取键盘按键值,并判断所获取的键盘按键值是否属于被服务进程期望获取的键盘按键值,如果是,则将键盘按键值发送给所述被服务进程,如果不是,则结束本流程。
5.根据权利要求1所述的获取输入事件状态的方法,其特征在于,所述上报输入事件列表包括:被服务进程期望获取的鼠标按键值;
所述该服务进程获取输入事件状态,并当判定该输入事件状态属于所述上报输入事件列表时,将该输入事件状态发送给所述被服务进程包括:
该服务进程获取鼠标按键值,并判断所获取的鼠标按键值是否属于被服务进程期望获取的鼠标按键值,如果是,则将鼠标按键值发送给所述被服务进程,如果不是,则结束本流程。
6.一种获取输入事件状态的装置,其特征在于,包括进程运行单元、设置单元和状态发送单元,其中:
进程运行单元,用于运行服务进程和被服务进程;
设置单元,用于将该服务进程的权限设置为高于被服务进程,并在该服务进程中设置上报输入事件列表;进一步用于将该服务进程的权限设置为高于或等于当前焦点进程;
状态发送单元,用于使能该服务进程获取输入事件状态,并当判定该输入事件状态属于所述上报输入事件列表时,将该输入事件状态发送给所述被服务进程;进一步用于当判定该输入事件状态不属于所述上报输入事件列表时,向当前焦点进程发送输入事件状态。
7.根据权利要求6所述的获取输入事件状态的装置,其特征在于,进一步包括状态处理单元;
所述状态处理单元,用于使能被服务进程在获取该输入事件状态之后,根据所述输入事件状态执行输入事件状态处理。
8.根据权利要求6所述的获取输入事件状态的装置,其特征在于,所述输入事件状态为:键盘按键状态和/或鼠标按键状态;
所述状态发送单元,用于使能该服务进程通过应用程序编程接口API命令GetAsyncKeyState(),根据预先设置的定时时间获取键盘按键状态和/或鼠标按键状态。
9.根据权利要求6所述的获取输入事件状态的装置,其特征在于,所述上报输入事件列表包括:被服务进程期望获取的键盘按键值;
所述状态发送单元,用于使能该服务进程获取键盘按键值,并判断所获取的键盘按键值是否属于被服务进程期望获取的键盘按键值,如果是,则将键盘按键值发送给所述被服务进程,如果不是,则不将键盘按键值发送给所述被服务进程。
10.根据权利要求6所述的获取输入事件状态的装置,其特征在于,所述上报输入事件列表包括:被服务进程期望获取的鼠标按键值;
所述状态发送单元,用于使能该服务进程获取鼠标按键值,并判断所获取的鼠标按键值是否属于被服务进程期望获取的鼠标按键值,如果是,则将鼠标按键值发送给所述被服务进程,如果不是,则不将鼠标按键值发送给所述被服务进程。
11.一种获取输入事件状态的系统,其特征在于,包括当前焦点进程运行单元、服务进程运行单元和被服务进程运行单元;
当前焦点进程运行单元,用于运行当前焦点进程;
被服务进程运行单元,用于运行被服务进程;
服务进程运行单元,用于运行服务进程,并设置有上报输入事件列表,该服务进程的权限设置为高于被服务进程,而且该服务进程的权限设置为高于或等于当前焦点进程;还用于获取输入事件状态,并当判定该输入事件状态属于所述上报输入事件列表时,将该输入事件状态发送给所述被服务进程运行单元;当判定该输入事件状态不属于所述上报输入事件列表时,向当前焦点进程运行单元发送所述输入事件状态。
12.根据权利要求11所述的获取输入事件状态的系统,其特征在于,
该当前焦点进程运行单元,用于运行游戏进程;被服务进程运行单元,用于运行语音进程。
CN201310204030.XA 2013-05-28 2013-05-28 一种获取输入事件状态的方法、装置和系统 Active CN103257893B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310204030.XA CN103257893B (zh) 2013-05-28 2013-05-28 一种获取输入事件状态的方法、装置和系统
PCT/CN2014/072523 WO2014190788A1 (en) 2013-05-28 2014-02-25 Method, apparatus and system for acquiring input events
US14/871,726 US9489248B2 (en) 2013-05-28 2015-09-30 Method, apparatus and system for acquiring input events

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310204030.XA CN103257893B (zh) 2013-05-28 2013-05-28 一种获取输入事件状态的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN103257893A CN103257893A (zh) 2013-08-21
CN103257893B true CN103257893B (zh) 2016-06-15

Family

ID=48961828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310204030.XA Active CN103257893B (zh) 2013-05-28 2013-05-28 一种获取输入事件状态的方法、装置和系统

Country Status (3)

Country Link
US (1) US9489248B2 (zh)
CN (1) CN103257893B (zh)
WO (1) WO2014190788A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547533B2 (en) 2012-10-15 2017-01-17 Optum Soft, Inc. Efficient reliable distributed flow-controlled event propagation
CN103257893B (zh) * 2013-05-28 2016-06-15 腾讯科技(深圳)有限公司 一种获取输入事件状态的方法、装置和系统
US10061629B2 (en) * 2015-07-22 2018-08-28 Optumsoft, Inc. Compact binary event log generation
CN106502862A (zh) * 2016-10-20 2017-03-15 广州优视网络科技有限公司 一种监测应用程序状态的设备、装置及方法
US10642648B2 (en) * 2017-08-24 2020-05-05 Futurewei Technologies, Inc. Auto-adaptive serverless function management
CN110347606B (zh) * 2019-07-15 2022-11-08 百度(中国)有限公司 一种自动化测试方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364434A (zh) * 2011-06-24 2012-02-29 浙大网新科技股份有限公司 一种整合Wine与Android鼠标输入的方法
CN102521531A (zh) * 2011-11-24 2012-06-27 华中科技大学 基于硬件虚拟化的密码保护系统
CN102681845A (zh) * 2012-04-24 2012-09-19 深圳创维数字技术股份有限公司 一种输入事件管理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872995A (en) * 1995-07-26 1999-02-16 Compaq Computer Corporation System for causing system management interrupt to execute second program before use of a scancode by first program if said scancode comprises a hotkey
US6782350B1 (en) * 2001-04-27 2004-08-24 Blazent, Inc. Method and apparatus for managing resources
CN101369302B (zh) * 2008-09-24 2011-04-27 北京飞天诚信科技有限公司 一种控制信息安全设备访问权限的方法和系统
CN102662738B (zh) * 2012-03-15 2014-08-13 北京奇虎科技有限公司 多进程管理方法与装置
CN103257893B (zh) * 2013-05-28 2016-06-15 腾讯科技(深圳)有限公司 一种获取输入事件状态的方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364434A (zh) * 2011-06-24 2012-02-29 浙大网新科技股份有限公司 一种整合Wine与Android鼠标输入的方法
CN102521531A (zh) * 2011-11-24 2012-06-27 华中科技大学 基于硬件虚拟化的密码保护系统
CN102681845A (zh) * 2012-04-24 2012-09-19 深圳创维数字技术股份有限公司 一种输入事件管理方法及装置

Also Published As

Publication number Publication date
CN103257893A (zh) 2013-08-21
US20160026511A1 (en) 2016-01-28
US9489248B2 (en) 2016-11-08
WO2014190788A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
CN103257893B (zh) 一种获取输入事件状态的方法、装置和系统
CN102779255B (zh) 判断恶意程序的方法及装置
CN102566931B (zh) 一种悬浮窗的显示方法及装置
CN106951335B (zh) 一种进程守护方法和移动终端
CN103593238A (zh) 控制应用程序编程接口调用的方法及装置
CN102624762B (zh) 基于云计算提升机器人软件功能的方法和云计算服务器
CN108132735B (zh) 终端与应用控制方法
CN103136052A (zh) 移动终端及安装有多个操作系统的移动终端的控制方法
CN103067597B (zh) 移动终端开机任务执行方法
CN105409160A (zh) 远程控制电子设备的系统及其操作方法
CN105205388A (zh) 一种应用程序的权限管理方法及系统
CN106295305A (zh) 一种触摸屏终端的屏幕解锁方法及装置
CN106406940A (zh) 系统升级方法、装置及终端
CN101895883B (zh) 一种支持鉴权算法更新的智能卡及方法
CN107957913A (zh) 关联启动的管控方法、装置、存储介质及移动终端
CN108399331A (zh) 应用进程试用方法和系统
CN104331238A (zh) 触发智能型装置的应用程序的方法
CN106844026A (zh) 一种清理终端设备进程的方法及系统
CN104679581A (zh) 后台运行程序的方法及装置
CN103218552A (zh) 基于用户行为的安全管理方法及装置
CN102984044A (zh) 基于虚拟专用网络实现数据传输安全性的方法和装置
CN103220662A (zh) 一种应用程序的处理方法和移动终端
CN106411718B (zh) 一种基于即时通信应用的数据同步方法及装置
CN105512552A (zh) 参数检测方法及装置
CN106569848A (zh) 终端及其应用程序的启动管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant