CN103218211A - 一种应用实例之间共享热键的方法和系统 - Google Patents

一种应用实例之间共享热键的方法和系统 Download PDF

Info

Publication number
CN103218211A
CN103218211A CN2012100175543A CN201210017554A CN103218211A CN 103218211 A CN103218211 A CN 103218211A CN 2012100175543 A CN2012100175543 A CN 2012100175543A CN 201210017554 A CN201210017554 A CN 201210017554A CN 103218211 A CN103218211 A CN 103218211A
Authority
CN
China
Prior art keywords
hot key
application example
message
registration
application
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.)
Granted
Application number
CN2012100175543A
Other languages
English (en)
Other versions
CN103218211B (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 CN201210017554.3A priority Critical patent/CN103218211B/zh
Priority to RU2014133869A priority patent/RU2607614C2/ru
Priority to US14/373,092 priority patent/US20150033007A1/en
Priority to PCT/CN2013/070682 priority patent/WO2013107384A1/zh
Priority to AP2014007850A priority patent/AP2014007850A0/xx
Publication of CN103218211A publication Critical patent/CN103218211A/zh
Priority to ZA2014/06046A priority patent/ZA201406046B/en
Application granted granted Critical
Publication of CN103218211B publication Critical patent/CN103218211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施方式提出了一种应用实例之间共享热键的方法和系统。包括:接收已注册热键的应用实例的释放热键消息,所述释放热键消息包含有所述注册热键标识信息;根据所述注册热键标识信息,发起所述注册热键的注册请求。应用本发明实施方式之后,当前拥有热键的应用程序实例在退出时可以通知下一个应用程序实例去注册热键,从而保证了热键的传递性,实现了热键的共享,进而提高了热键的准确响应率。

Description

一种应用实例之间共享热键的方法和系统
技术领域
本发明实施方式涉及计算机技术领域,更具体地,涉及一种应用实例之间共享热键的方法和系统。
背景技术
用户使用计算机,经常会使用各种应用程序(软件工具)。应用程序一般会利用系统提供的热键功能,或为自己的应用程序注册热键以进一步方便用户的使用。热键即快捷键,就是键盘上某几个特殊键组合起来完成一项特定任务,使用热键能够极大地提高工作效率。比如:热键Del+Ctrl+Alt在视窗(Windows)操作系统下可以打开任务管理器。
应用程序一般可以运行多个实例。以某种即时通讯(IM)程序为例,可以同时运行多个IM程序,即多个实例。相同种类应用程序同时运行的多个实例,称为该种类型应用程序的多个实例。不相同种类应用程序同时运行的多个实例,称为不相同类型应用程序的多个实例。无论是相同类型应用程序的多个实例之间,还是不相同类型应用程序的多个实例之间,都可能期望占用相同的热键。
然而,在现有技术中,无论是同时运行的多种应用程序之间的热键,还是同时运行的同种类多份应用程序实例中的热键都是独占性的。一个应用程序实例注册了某热键,另一个应用程序实例就不能再注册相同组合键的热键,这就造成注册热键失败的程序,不能为用户提供便捷的使用方式。而且,当注册了热键的某个应用程序实例退出后,该热键会被系统回收,其它应用程序实例却不能及时获得该热键释放的通知,从而也不能及时重新注册热键。
发明内容
本发明实施方式提出一种应用实例之间共享热键的方法,从而当前拥有热键的应用实例退出时可以将热键传递给其它应用实例,实现热键的共享。
本发明实施方式还提出了一种应用实例之间共享热键的系统,从而当前拥有热键的应用实例退出时可以将热键传递给其它应用实例,实现热键的共享。
本发明实施方式的具体方案如下:
一种应用实例之间共享热键的方法,该方法包括:
接收已注册热键的应用实例的释放热键消息,所述释放热键消息含有所述注册热键标识信息;
根据所述注册热键标识信息,发起所述注册热键的注册请求。
一种应用实例之间共享热键的系统,该系统包括热键消息释放单元和热键注册单元,其中:
热键消息释放单元,用于接收已注册热键的应用实例的释放热键消息,所述释放热键消息含有所述注册热键标识信息;
热键注册单元,用于根据所述注册热键标识信息,发起所述注册热键的注册请求。
从上述技术方案可以看出,在本发明实施方式中,该方法包括:接收已注册热键的应用实例的释放热键消息,释放热键消息含有注册热键标识信息;根据所述注册热键标识信息,发起注册热键的注册请求。应用本发明实施方式之后,在应用实例之间,当前拥有热键的应用程序实例在退出时可以通知下一个应用程序实例去注册热键,从而保证了热键的传递性,实现了热键的共享,进而提高了热键的准确响应率。
附图说明
图1为根据本发明实施方式的应用实例之间共享热键的方法流程图;
图2为根据本发明实施方式的同类型多应用实例注册流程图;
图3为根据本发明实施方式未注册热键的应用实例处理热键的流程图;
图4为根据本发明实施方式注册热键的应用实例处理热键的流程图;
图5为根据本发明实施方式应用实例之间共享热键的系统结构图;
图6为根据本发明另一实施方式应用实例之间共享热键的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明实施方式的应用实例可以为同种应用类型的多应用实例,也可以是分别属于不同种应用类型的多应用实例,其中优选为同种应用类型的多应用实例。
下面以同种应用类型的多应用实例为示范性举例,对本发明实施方式进行详细描述。然而,本领域技术人员可以意识到,这仅是阐述目的,并不用于限定本发明实施方式的保护范围。
对于同类型应用实例,可以分别在其自身启动的时候就分别发起热键注册。由于这些应用实例都运行相同类型程序的应用软件,因此这些应用实例注册的热键都应该是相同的。
比如,对于某种IM软件来说,热键Ctrl+Atl+Z应该为提起消息的热键,此时这些IM应用实例在自身启动的时候分别都尝试注册热键Ctrl+Atl+Z为提起消息的热键。然后,判断第一个发起热键注册的应用实例意图注册的热键是否已被其它类型的应用程序所占用,当没有占用时,将该热键注册到该第一个发起热键注册的应用实例;当已经占用时,提示该第一个发起热键注册的应用实例注册失败。
比如,第一个发起热键注册的IM应用实例判断热键Ctrl+Atl+Z是否已被其它种类的应用软件(即不是该IM软件)所占用,如果已经被其它应用软件注册并且该应用软件正在运行,则认为已经被占用,此时提示该第一个发起热键注册的IM应用实例注册失败,并优选进一步提示该第一个发起热键注册的IM应用实例更改热键后重新注册。
当有应用实例成功注册热键后,如果热键被触发,即当出现热键消息时,该注册热键的应用实例接收该热键消息。然后,该注册热键的应用实例向未注册热键的其它应用实例派发该热键消息,接着判断未注册热键的应用实例之中是否有应用实例处理该热键消息,当判定在未注册热键的应用实例之中有应用实例处理时,未注册热键的应用实例之中的该应用实例处理该热键消息并结束本方法流程;当判定在未注册热键的应用实例之中没有应用实例处理时,该注册热键的应用实例处理该热键消息并结束本流程。
图1为根据本发明实施方式的多应用实例之间共享热键的方法流程图。
如图1所示,该方法包括:
步骤101:接收已注册热键的应用实例的释放热键消息,该释放热键消息包含有所述注册热键标识信息。
在这里,该注册热键标识信息可以标注出具体的热键组合。
步骤102:根据该注册热键标识信息,发起所述注册热键的注册请求。
优选地,在该方法中,已注册热键的应用实例请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。而且,当已注册热键的应用实例退出时,并当请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
在一个实施方式中,已注册热键的应用实例请求释放热键资源后,可以按照预定顺序向其它应用实例发送释放热键消息,其中该预定顺序包括但是不局限于:
将应用实例启动时间的先后顺序设置为预定顺序;和/或
按照应用实例运行时间的长短顺序设置为预定顺序;和/或
将热键注册消息发送给所有应用实例,并按照接收到该热键注册消息的先后时间顺序设置为预定顺序。
在一个实施方式中,在该方法中,在根据注册热键标识信息发起注册热键注册请求的步骤之后,优选进一步包括:
当判断所述注册请求为否时,向其它应用实例依次遍历发送查询所述注册热键是否成功的查询请求;当所述任一查询请求返回所述注册热键成功时,停止所述遍历。
优选地,在该方法还可以进一步包括:当注册热键成功的应用实例根据该热键注册消息注册该热键之后,如果出现热键消息,该注册热键成功的应用实例首先接收该热键消息;然后该注册热键成功的应用实例向未注册热键的其它应用实例派发该热键消息;再判断其它应用实例之中是否有应用实例处理该热键消息,当判定在其它应用实例之中有应用实例处理时,该其它应用实例之中的该应用实例处理该热键消息;当判定在其它应用实例之中没有应用实例处理时,该注册热键成功的应用实例处理该热键消息。
由此,可以实现拥有热键的应用实例在退出后,能够将热键传递给后续的应用实例,从而实现热键的共享。这就克服了现有技术中当注册了热键的应用程序实例在退出后热键被系统回收,而导致其它应用程序实例不能重新注册热键并使用的缺陷。
以上虽然罗列了一些具体的软件类型来对本发明实施方式进行详细说明,本领域技术人员可以意识到,这种罗列仅仅用于阐述目的,而并不用于限定本发明的保护范围。
实际上,这些应用实例也可以分别属于不同的应用类型。此时,本发明实施方式同样适用于期望注册相同热键的不同类型应用程序之间的多种应用实例,以及适用于不同应用类型的应用程序实例在退出后的热键共享。
下面再以同类型应用实例为对本发明的具体实施方式进行更加详细的说明。
在一个实施方式中,当运行有多个同类型应用实例时,每个同类型应用实例在启动时都会向系统注册热键。对于每一个应用实例,如果发现该热键既没有被其它类型的应用程序注册,也没有被其它应用实例占据,则返回热键注册成功,并结束注册逻辑。对于每一个应用实例,如果发现热键已经被其它类型的应用程序所注册,则向用户返回注册失败消息,并提示用户更改热键后重新注册;如果发现热键没有被其它类型的应用程序所注册但是注册失败,则它会通过跨进程,依次询问每个同类型的应用程序是否已经注册了该热键,只要一个返回成功,就中断询问,并注册逻辑结束;如果都返回失败(即其它同类型的应用程序都没有注册该热键),就弹出提示,向用户提示该热键注册失败,不能使用。
图2为根据本发明实施方式的同类型多应用实例注册流程图。
如图2所示,该方法包括:
步骤201:应用程序实例A向操作系统发起注册热键S(即某些按键的组合)的注册请求,并注册成功。
步骤202:应用程序实例B向操作系统发起注册热键S的注册请求,操作系统接收到该注册请求后,判定应用程序实例A已经注册该热键S,向应用程序实例B返回热键注册失败消息。
步骤203:应用程序实例B向应用程序实例A发送询问消息,询问应用程序实例A是否已注册热键S。
步骤204:应用程序实例A向应用程序实例B发送回复消息,告知应用程序实例B已经注册热键S。应用程序实例B收到该回复消息后,通过解析该回复消息确定该热键S已经被应用程序实例A所注册。
步骤205:应用程序实例C向操作系统发起注册热键S的注册请求,操作系统接收到该注册请求后,判定应用程序实例A已经注册该热键S,向应用程序实例B返回热键注册失败。
步骤206:应用程序实例C向应用程序实例B发送询问消息,询问应用程序实例B是否已注册热键S。
步骤207:应用程序实例B向应用程序实例C发送回复消息,在回复消息中告诉应用程序实例C没有注册热键S。
步骤208:应用程序实例C向应用程序实例A发送询问消息,以询问应用程序实例A是否已注册热键S。
步骤209:应用程序实例A向应用程序实例C回复消息,告知应用程序实例B已经注册热键S。应用程序实例C通过解析该回复消息确定该热键S已经被应用程序实例A所注册。
至此,就实现了各个同类型应用程序实例的注册操作。此时,当用户触发热键时,系统会弹出热键消息,而成功注册热键的应用程序实例,会收到该热键消息。成功注册热键的应用程序实例,会通过跨进程,依次向每个同类型的应用程序实例派发热键消息。其它应用程序实例收到跨进程的热键消息后,根据自身的情况,决定是否处理这个热键消息。如果处理,则处理该热键消息并返回已处理消息;如果不处理,则返回未处理消息。对于成功注册热键的应用程序实例,只要收到一个已处理的返回消息,就中断剩下的派发。如果所有的返回都是未处理消息,成功注册热键的应用程序实例则可以根据自己的情况,决定如何处理该热键消息。
按照这个逻辑,成功注册热键的应用程序实例,在收到系统的热键消息后,会先发给其他应用程序实例,而自己是最后处理的,从而保证了所有的应用程序实例(无论是注册成功的还是未注册的),都将有机会处理热键消息。
基于上述详细分析和图2所示流程,图3为根据本发明实施方式未注册热键的应用实例处理热键的流程图。图3所示实施方式为依据图2所示注册后的一种具体应用情形。由图2流程可知,在这个实施方式中,应用程序实例A注册了热键。
如图3所示,该方法包括:
步骤301:当用户触发热键S时应用程序实例A收到该热键消息,并向应用程序实例B发送该热键消息。
步骤302:应用程序实例B收到该热键消息后,判断是否需要处理。此处判定为不需要处理,则向应用程序实例A返回不处理的消息。
步骤303:应用程序实例A收到应用程序实例B发送来的不处理消息后,接着向应用程序实例C发送该热键消息。
步骤304:应用程序实例C收到该热键消息后,判断是否需要处理。此处判定为需要处理,则应用程序实例处理该热键消息,并向应用程序实例A返回已经处理的消息。
基于上述详细分析和图2所示流程,图4为根据本发明实施方式注册热键的应用实例处理热键的流程图。图4所示实施方式为依据图2所示注册后的一种具体应用情形。由图2流程可知,在这个实施方式中,应用程序实例A注册了热键。
如图4所示,该方法包括:
步骤401:当用户触发热键S时应用程序实例A收到该热键消息,并向应用程序实例B发送该热键消息。
步骤402:应用程序实例B收到该热键消息后,判断是否需要处理。此处判定为不需要处理,则向应用程序实例A返回不处理的消息。
步骤403:应用程序实例A收到应用程序实例B发送来的不处理消息后,接着向应用程序实例C发送该热键消息。
步骤404:应用程序实例C收到该热键消息后,判断是否需要处理。此处判定为不需要处理,则向应用程序实例A返回不处理的消息。
步骤405:应用程序实例A收到应用程序实例C返回的不处理消息后,认定所有的未注册应用程序实例都不需要处理热键,则依据自身的情形来处理热键消息。
基于上述详细分析,本发明实施方式还提出了一种多应用实例之间共享热键的系统结构图。
如图5所示,该系统包括热键消息释放单元501和热键注册单元502。其中:
热键消息释放单元501,用于接收已注册热键的应用实例的释放热键消息,所述释放热键消息含有所述注册热键标识信息;
热键注册502,用于根据注册热键标识信息,发起注册热键的注册请求。
优选地,热键消息释放单元501,用于:所述已注册热键的应用实例请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
优选地,热键消息释放单元501,用于所述已注册热键的应用实例退出时,并当请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
基于图5所示系统结构,图6为根据本发明另一实施方式多应用实例之间共享热键的系统结构图。
类似地,如图6所示,该系统包括热键消息释放单元601、热键注册单元602和热键消息处理单元603。其中:
热键消息释放单元601,用于接收已注册热键的应用实例的释放热键消息,所述释放热键消息含有所述注册热键标识信息;
热键注册单元602,用于根据所述注册热键标识信息,发起所述注册热键的注册请求;
热键消息处理单元603,用于当出现热键消息时,注册热键成功的应用实例接收该热键消息,使能该注册热键成功的应用实例向其它应用实例派发该热键消息;并判断其它应用实例之中是否有应用实例处理该热键消息,当判定在其它应用实例之中有应用实例处理时,所述其它应用实例之中的该应用实例处理该热键消息;当判定在其它应用实例之中没有应用实例处理时,该注册热键成功的应用实例处理该热键消息。
由此可见,运用本发明实施方式提出的多个同类型应用程序实例或多种类型的应用程序之间的跨进程共享热键的技术方案,解决了应用程序的热键冲突的问题,共享热键资源,更进一步优化了用户的体验。
更具体地,下面以即时通讯工具(IM)为例进行更加具体的说明。针对IM等即时通讯工具,可以通过COM远程调用的方式来实现本发明实施方式跨进程共享热键的方案。具体地,首先建立一个组件,并根据COM规范实现一组接口(包括IMAPI接口和IMMainCreator接口),然后把该组件和接口都注册到系统中。其中:接口名为IMAPI,用于提供查询热键是否注册的方法以及提供响应热键的方法。接口名为IMMainCreator的,用于提供了遍历所有IM实例的方法,并把所有的IMAPI接口返回给调用者。
当某个IM实例注册热键失败的时候,首先向系统获取该IM组件,并获取该组件的IMMainCreator接口,该IMMainCreator接口通过遍厉所有IM实例的方法,获得所有当前运行的IM实例的IMAPI接口,然后逐个调用返回的每个IMAPI接口,以查询热键是否注册。其中:如果某个IMAPI接口返回已经注册,就中断剩下的调用,并流程结束;如果所有IMAPI接口都返回无注册,就弹出提示告知用户(这个行为是由具体产品具体指定的),并结束流程。
当某个IM实例接收到系统的热键消息时,首先向系统获取IM的组件并获取该组件的IMMainCreator接口,该IMMainCreator接口通过遍历所有IM实例的方法,获得所有当前运行的IM实例的IMAPI接口。然后逐个调用返回的每个IMAPI接口,以响应热键。其中:如果有IMAPI接口返回处理热键的消息,就中断剩下的调用,并结束流程;如果所有IMAPI接口都返回不处理热键的消息,则该接收到系统热键消息的IM实例自己处理热键消息,并结束流程。
以上虽然详细陈述了如何通过COM远程调用的方式来实现跨进程的热键共享,但是本发明实施方式并不局限于此,还可以用过共享内存、匿名管道等多种方式来实现跨进程的热键共享。
同样地,上述虽然以即时通讯工具IM为例对本发明实施方式进行了详细描述,但是本发明实施方式并不局限于此。本发明实施方式可以适用于其它即时通信工具或任意的恰当应用。
假设有三个正在运行的同种类IM实例,分别为AIM,BIM和CIM。当IM未使用本发明实施方式时,每个IM在启动时,都会尝试注册相同组合键的热键,但只有第一个注册的IM(假设为AIM)才注册成功。用户在激活热键时,只有AIM才能收到热键消息(如提起消息的热键(默认组合键是Ctrl+Atl+Z))。AIM注册成功,BIM和CIM则会注册失败。
现有技术场景1:AIM、BIM和CIM同时运行,AIM成功注册了提起消息的热键。如果此时BIM来了消息,用户按下Ctrl+Atl+Z,激发提起消息的热键,AIM可以收到热键消息。然而,由于AIM没有新消息,所以AIM不处理热键消息。这种情况,不符合用户的预期,给用户造成困扰,影响用户体验。
现有技术场景2:AIM、BIM和CIM同时运行,AIM成功注册了提起消息的热键,但AIM却退出了。此时如果BIM来了消息,当用户按下Ctrl+Atl+Z,却无法激发提起消息的热键。这种情况也不符合用户的预期,给用户造成困扰,影响用户体验。
当应用本发明实施方式以后,同样以IM为例:
本发明实施方式场景1:AIM、BIM和CIM同时运行,AIM成功注册了提起消息的热键。此时BIM来了消息。用户按下Ctrl+Atl+Z,激发提起消息的热键,AIM收到热键消息后,先把热键消息转发给BIM(或者先把热键消息转发给CIM,当CIM发现自身不需要处理热键消息时,向AIM返回不处理消息,AIM收到不处理消息后再把热键消息转发给BIM)。BIM收到后,发现确实有新消息,则弹出新消息,然后返回已处理消息给AIM。该方案符合了用户的预期,增强了用户的体验。
本发明实施方式场景2:AIM、BIM和CIM同时运行,AIM成功注册了提起消息的热键,但AIM却先退出了。AIM在退出时,分别向BIM,CIM发起热键注册消息。BIM和CIM收到之后,会立即注册热键,但按照预先设置的顺序,只有一个先注册的IM才注册成功。假设是BIM注册成功,这样,BIM就取代了AIM的位置。用户按下Ctrl+Atl+Z,激发提起消息的热键,BIM就会收到热键消息,然后由BIM进行派发。该方案符合了用户的预期,增强了用户的体验。
以上虽然以IM为例对本发明实施方式进行详细说明,本领域技术人员可以意识到,这种罗列仅仅用于阐述目的,而并不用于限定本发明的保护范围。
综上所述,在本发明实施方式中,包括设置热键再次注册顺序的步骤,该方法还包括:当已注册热键的应用实例退出时,按照所述热键再次注册顺序向下一顺序的应用实例发送热键注册消息;该下一顺序的应用实例根据该热键注册消息注册该热键。应用本发明实施方式之后在应用实例之间,当前拥有热键的应用程序实例在退出时可以通知下一个应用程序实例去注册热键,从而保证了热键的传递性,实现了热键的共享,进而提高了热键的准确响应率。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种应用实例之间共享热键的方法,其特征在于,该方法包括:
接收已注册热键的应用实例的释放热键消息,所述释放热键消息包含有所述注册热键标识信息;
根据所述注册热键标识信息,发起所述注册热键的注册请求。
2.根据权利要求1所述的应用实例之间共享热键的方法,其特征在于,
所述已注册热键的应用实例请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
3.根据权利要求1或2所述的应用实例之间共享热键的方法,其特征在于,
所述已注册热键的应用实例退出时,并当请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
4.根据权利要求3所述的应用实例之间共享热键的方法,其特征在于,
所述已注册热键的应用实例请求释放热键资源后,按照预定顺序向其它应用实例发送释放热键消息;
所述预定顺序包括:
将应用实例启动时间的先后顺序设置为预定顺序;和/或
按照应用实例运行时间的长短顺序设置为预定顺序;和/或
将热键注册消息发送给所有应用实例,并按照接收到该热键注册消息的先后时间顺序设置为预定顺序。
5.根据权利要求1所述的应用实例之间共享热键的方法,其特征在于,
所述根据所述注册热键标识信息,发起所述注册热键注册请求的步骤后,该方法还包括:
判断所述注册请求为否时,向其它应用实例依次遍历发送查询所述注册热键是否成功的查询请求;
当所述任一查询请求返回所述注册热键成功时,停止所述遍历。
6.根据权利要求1所述的应用实例之间共享热键的方法,其特征在于,所述应用实例为:具有相同应用类型的多应用实例。
7.根据权利要求6所述的应用实例之间共享热键的方法,其特征在于,该方法进一步包括:
当出现热键消息时,注册热键成功的应用实例接收该热键消息;
该注册热键成功的应用实例向其它应用实例派发该热键消息;
判断其它应用实例之中是否有应用实例处理该热键消息,当判定在其它应用实例之中有应用实例处理时,所述其它应用实例之中的该应用实例处理该热键消息;当判定在其它应用实例之中没有应用实例处理时,该注册热键成功的应用实例处理该热键消息。
8.一种应用实例之间共享热键的系统,其特征在于,该系统包括热键消息释放单元和热键注册单元,其中:
热键消息释放单元,用于接收已注册热键的应用实例的释放热键消息,所述释放热键消息含有所述注册热键标识信息;
热键注册单元,用于根据所述注册热键标识信息,发起所述注册热键的注册请求。
9.根据权利要求8所述的应用实例之间共享热键的系统,其特征在于,所述应用实例为:具有相同应用类型的多应用实例。
10.根据权利要求8所述的应用实例之间共享热键的系统,其特征在于,该系统进一步包括热键消息处理单元,
所述热键消息处理单元,用于当出现热键消息时,使能注册热键成功的应用实例接收该热键消息,该注册热键成功的应用实例向其它应用实例派发该热键消息;并判断其它应用实例之中是否有应用实例处理该热键消息,当判定在其它应用实例之中有应用实例处理时,所述其它应用实例之中的该应用实例处理该热键消息;当判定在其它应用实例之中没有应用实例处理时,该注册热键成功的应用实例处理该热键消息。
11.根据权利要求8所述的应用实例之间共享热键的系统,其特征在于,所述热键消息释放单元,用于所述已注册热键的应用实例请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
12.根据权利要求8所述的应用实例之间共享热键的系统,其特征在于,所述热键消息释放单元,用于所述已注册热键的应用实例退出时,并当请求释放热键资源后,依次向其它应用实例发送所述释放热键消息。
13.根据权利要求8所述的应用实例之间共享热键的系统,其特征在于,
所述热键消息释放单元,用于已注册热键的应用实例请求释放热键资源后,按照预定顺序向其它应用实例发送释放热键消息,其中所述预定顺序包括:将应用实例启动时间的先后顺序设置为预定顺序;和/或按照应用实例运行时间的长短顺序设置为预定顺序;和/或将热键注册消息发送给所有应用实例,并按照接收到该热键注册消息的先后时间顺序设置为预定顺序。
14.根据权利要求8所述的应用实例之间共享热键的系统,其特征在于,该系统还包括判断单元,
所述判断单元,用于在根据所述注册热键标识信息发起所述注册热键注册请求之后,判断所述注册请求为否时,向其它应用实例依次遍历发送查询所述注册热键是否成功的查询请求,并当所述任一查询请求返回所述注册热键成功时,停止所述遍历。
CN201210017554.3A 2012-01-19 2012-01-19 一种应用实例之间共享热键的方法和系统 Active CN103218211B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201210017554.3A CN103218211B (zh) 2012-01-19 2012-01-19 一种应用实例之间共享热键的方法和系统
RU2014133869A RU2607614C2 (ru) 2012-01-19 2013-01-18 Система и способ совместного использования горячей клавиши экземплярами приложения
US14/373,092 US20150033007A1 (en) 2012-01-19 2013-01-18 Method and System for Sharing a Hotkey Between Application Instances
PCT/CN2013/070682 WO2013107384A1 (zh) 2012-01-19 2013-01-18 一种应用实例之间共享热键的方法和系统
AP2014007850A AP2014007850A0 (en) 2012-01-19 2013-01-18 Method and system for sharing a hotkey among application instances
ZA2014/06046A ZA201406046B (en) 2012-01-19 2014-08-18 Method and system for sharing hotkey between application instances

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210017554.3A CN103218211B (zh) 2012-01-19 2012-01-19 一种应用实例之间共享热键的方法和系统

Publications (2)

Publication Number Publication Date
CN103218211A true CN103218211A (zh) 2013-07-24
CN103218211B CN103218211B (zh) 2015-10-07

Family

ID=48798648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210017554.3A Active CN103218211B (zh) 2012-01-19 2012-01-19 一种应用实例之间共享热键的方法和系统

Country Status (6)

Country Link
US (1) US20150033007A1 (zh)
CN (1) CN103218211B (zh)
AP (1) AP2014007850A0 (zh)
RU (1) RU2607614C2 (zh)
WO (1) WO2013107384A1 (zh)
ZA (1) ZA201406046B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078021A (zh) * 2019-12-19 2020-04-28 上海宏桐实业有限公司 一种利用通用键盘实现刺激信号输入的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218212B (zh) * 2012-01-19 2016-03-02 腾讯科技(深圳)有限公司 一种多应用实例之间共享热键的方法和系统
CN104461304A (zh) * 2014-12-31 2015-03-25 小米科技有限责任公司 控制应用的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120313A (zh) * 2004-12-28 2008-02-06 诺基亚公司 移动设备中快捷键的维护
CN101908999A (zh) * 2009-06-02 2010-12-08 华为技术有限公司 一种网络中资源委托调整的方法、装置及系统
CN102662738A (zh) * 2012-03-15 2012-09-12 奇智软件(北京)有限公司 多进程管理方法与装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091423A (ja) * 2001-09-18 2003-03-28 Sony Corp ユーザの簡易切り替え機能を備えた情報処理装置及びこれに用いるプログラム
US6959422B2 (en) * 2001-11-09 2005-10-25 Corel Corporation Shortcut key manager and method for managing shortcut key assignment
US8020096B2 (en) * 2003-06-24 2011-09-13 International Business Machines Corporation Method and system for providing integrated hot key configuration
US20060038787A1 (en) * 2004-08-18 2006-02-23 Jia-Shiung Kuo Processing system and method for detecting hotkey activation
KR100735375B1 (ko) * 2005-08-25 2007-07-04 삼성전자주식회사 이동통신단말기에서 어플리케이션 구동 방법 및 그이동통신단말기
US20070283273A1 (en) * 2005-10-24 2007-12-06 Woods Michael E System, Method, and Computer Program Product for Internet Tool
US8056018B2 (en) * 2007-03-20 2011-11-08 International Business Machines Corporation Implementing registration and conflict resolution of web application keyboard shortcuts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120313A (zh) * 2004-12-28 2008-02-06 诺基亚公司 移动设备中快捷键的维护
CN101908999A (zh) * 2009-06-02 2010-12-08 华为技术有限公司 一种网络中资源委托调整的方法、装置及系统
CN102662738A (zh) * 2012-03-15 2012-09-12 奇智软件(北京)有限公司 多进程管理方法与装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078021A (zh) * 2019-12-19 2020-04-28 上海宏桐实业有限公司 一种利用通用键盘实现刺激信号输入的方法

Also Published As

Publication number Publication date
US20150033007A1 (en) 2015-01-29
RU2607614C2 (ru) 2017-01-10
RU2014133869A (ru) 2016-03-20
WO2013107384A1 (zh) 2013-07-25
AP2014007850A0 (en) 2014-08-31
ZA201406046B (en) 2015-11-25
CN103218211B (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
US11457045B2 (en) Methods and user equipment for exchanging service capabilities
US7945679B2 (en) Presence service system, a presence apparatus, a presence service method, and a presence service program
US8929939B2 (en) Session-triggered pushing of group communication data
KR102448192B1 (ko) 구독 정보를 업데이트하는 방법 및 장치
US20130331053A1 (en) Special handling of certain types of communications
CN103563314A (zh) 用于被动通信服务的系统和方法
CN103218211A (zh) 一种应用实例之间共享热键的方法和系统
CN102223295B (zh) 用于过载扼流的基于阶段的ims信令消息优先级区分
US20180027392A1 (en) Multi-Group Call Setup Method and Device
WO2017036373A1 (zh) 一种组呼业务处理方法、终端及核心网网元
CN103795622A (zh) 一种报文转发方法及其装置
US20100269114A1 (en) Instant messenger and method for dispatching task with instant messenger
CN111835797A (zh) 一种数据处理方法、装置及设备
CN103218212A (zh) 一种多应用实例之间共享热键的方法和系统
CN105744494A (zh) 一种短信发送方法和装置
CN101115073A (zh) PoC业务的会话释放方法和系统
CN110995706B (zh) 用于通讯应用的身份验证系统、方法、设备和存储介质
CN105207892A (zh) 邮件发送方法及装置
CN113596383B (zh) 网络会议的参会人员管理方法及装置、设备
CN109445950A (zh) Ocf资源的互斥访问方法及系统、服务端、介质、设备
CN104767668A (zh) 群组控制方法和系统
CN111953644A (zh) 用于多媒体通信的终端连接方法及系统
RU2575413C1 (ru) Система и способ совместного использования горячей клавиши между экземплярами приложений
US7702347B1 (en) System and method for temporary talk groups
CN100450007C (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