随着可运行许多应用软件的功能更加强大的计算装置的出现,频繁起动所使用功能的单触热键现在正成为新计算装置中一种普遍特征。例如在Jornada 620中,一种Hewlett-Packard公司已注册的手掌型个人计算机(H/PC)中,一排热键就用于这样的目的。为了起到与热键相同的目的,Jornada 620在触摸显示屏上设置了四个可配置的硬图标。这些热键和硬图标都是用户可编程的。每个热键或硬图标都与一种应用程序相关。配置文件或注册数据库中都保留了相关信息。配置文件内的各个记录包括两个字段,一个是热键或硬图标字段,另一个是含有相关应用程序的可执行文件名的字段。
目前即使对相当有计算机知识的用户来说,这些热键和硬图标的编程也是麻烦的且对用户不友好的。例如Jornada 620 H/PC中,用户仅为一个热键编程不得不进行非常繁重的顺序。在这样的编程顺序中,需要用户调用热键编程特征。热键编程特征经调用后,出现对话框给用户,以改变现有相关数据或输入新的相关数据。要求用户从对话框挑选一个对应待编程的特定热键的入口。接着,用户还要确定文件名,包括与所选热键相关应用的路径名。一旦文件名确定,用户针对话框内所选入口输入该文件名。为了帮助用户对可执行文件进行定位,为用户提供一种浏览性能用来浏览H/PC上的文件系统。已输入的数据写到配置文件中对应的记录。虽然采用这样的热键编程方法可行,也带来许多不足。其中一点是需要多步骤实施这种方法。对初始用户这种方法并不直观。该方法的另一点不足之处在于为使用户能够定位可执行文件,需要用户知道可执行文件的名称。某些可执行文件名并不明显且极难找到。例如,用于MICROSOFT POCKET INTERNET EXPLORER(Washington,RedmondMicrosoft公司注册的Web浏览器)应用的可执行文件名为iexplore.exe。另一个例子,应用MICROSOFT POCKET OUTLOOK程序组(Washington,Redmond Microsoft公司注册的个人信息管理程序组应用)中CONTACTS的可执行文件名不明显为addrbook.exe。还有一个例子是,MICROSOFT POCKET WORD应用(Washington,RedmondMicrosoft公司注册的文字处理应用)的文件名为pword.exe。不停有应用程序提供者使用更加模糊的名称。因此,对计算机并不很了解的人来说,为可执行应用文件名进行定位是一件几乎不可能的事。这些用户通常只得满足于热键和硬图标的默认编程。系统管理管理员还在文件系统内到处安装可执行文件而不是在默认的位置处,更加大了可执行文件名定位的复杂性。这样的文件名潜在具有较大数量的目录和子目录,使搜寻特定文件的工作变得非常麻烦,而且常常成为无法克服的问题。
从前述,现有技术需要对用户更加友好而且直观的热键编程方法。
下面将根据手持式个人计算机(H/PC),例如Hewlett-Packard公司的Jornada620在热键编程方面对本发明较佳实施例进行说明。但是,应该知道,本发明同样可以应用于其他类型的计算装置,例如手掌型PC,笔记本PC,台式PC。
图1为与本发明说明相关的典型笔式H/PC 2的主要硬件组成的框图。(H/PC)2具有一个显示和输入装置4,一个QUERTY键盘6,一个存储器8,一个笔或触笔10,以及处理器12。键盘6包括一排热键14(图2)。这些热键14是用于与热键14相关的快速应用起动。管理H/PC 2运行的操作系统(OS)16(图3)留在存储器8内。显示和输入装置4是一个输入和输出装置。当作为输出装置时,该装置接收处理器12的数据,然后显示这些数据在相应的显示屏上。该显示屏最好是液晶显示屏(LCD)。该显示装置4的输入装置最好是较薄且透明的薄膜覆盖LCD显示,而且对其表面上的触笔10的位置具有敏感性,采用这种结构,显示装置4的薄膜作为输入图形输入板,以提供触摸屏输入装置。四个硬图标18在输入装置上,其中两个硬图标预编程为快速启动应用程序。另外两个硬图标出厂时已预编程为实现其他任务,例如在现有执行应用程序中,用于激活向上滚动和向下滚动功能。
图2为表示热键14和硬图标18位置的H/PC 2的等示图。这些热键14和硬图标18都是用户可编程的,从而使其构成单触式应用起动。
图3表示与本发明描述相关的某些软件和硬件组成的框图。软件组成留在图1的存储器8内。软件组成包括OS 16,键盘驱动器19,触摸输入驱动器20和外键盘应用程序20。其他应用程序(未画出)也留在存储器8内。应用程序不能根据(H/PC)2的开启自动起动,而是由用户选择性起动。如果H/PC 2加上电源,处理器12使OS 16和驱动器19,20运行。OS 16是H/PC 2的主控制程序,这些程序是任务安排,管理存储和处理与外围设备的通信。在较佳实施例中,OS 16是Windows CEOS(Washington,Redmond Microsoft公司注册的用于移动计算装置的OS)。该OS 16在没有应用程序执行的时候,提供一个基本的用户界面。当应用程序运行时,应用程序与OS 16通信。键盘驱动器19是一个将OS 16延伸以支持键盘6的程序。键盘驱动器19扫描键盘6以检测键盘6上的按键。如果检查出按压键,键盘驱动器19采用适当的应用程序编程接口(API)调用,将与按键相关的信息提供给OS 16。在接收到信息时OS 16或者将按键信息传送到现运行的应用程序,或者执行与按键相关的任务。触摸式输入驱动器20实现的任务类似用来支持显示和输入装置4的键盘驱动器19。
外键盘应用程序21支持约为键盘尺寸90%的便携式外键盘22。该外部键盘22可以实现如H/PC 2上键盘6那样的更舒适的打字。这个外部键盘22与H/PC 2的串行口(未画出)相连。为了使用这样的外部键盘,用户起动外部键盘应用程序21。外部键盘应用程序21经串行口接收外部键盘22发送的信息,并将这些信息传递给合适的API调用用于发送信息给OS 16。
在这个较佳实施例中,热键编程方法在键盘驱动器19,触摸式输入驱动器20和外部键盘应用程序21中实施。接下来的说明中,热键编程方法将仅对使用键盘驱动器19的情况进行说明。应该知道,该方法在触摸式输入驱动器20和外部键盘应用程序21中所起作用相似。图4为热键14编程步骤的顺序24。一旦检测出用于特定热键编程的顺序或组合被通过键盘6输入,该方法确定在前台哪一个应用程序目前正在运行。在一个多作业OS,类似Microsoft的Windows CE OS,一个应用程序可以在前台或在后台运行。运行在前台的一个应用程序或作业是用户主动要与之工作的,并出现在计算机屏幕上的前台。其它应用程序或作业可同时在后台运行。后台作业的一个例子是准备用于打印的文件。在任一特定时间,最多能有一个前台应用程序。在运行Windows CE OS的H/PC上选取并运行一个应用程序与文件系统内定位一个可执行文件相比更容易。H/PC上安装的多数应用程序将造成代表应用程序的图标被加到现有的或新创建的程序菜单上。这些图标使用户容易通过遍历Windows CE OS提供的开始菜单和程序菜单定位和起动应用程序。
序列24开始于步骤26的START位置。当用户按下或激活键盘6上的一个或多个键时,键盘驱动器19输入该序列24。该序列24接着进行PROGRAM MODEDETECTED?判定步骤28,在此处理器12确定是否由于启动了编程键序列或组合而已进入编程模式。编程键序列的一个示例是按下热键持续几秒钟。另一个编程键序列的示例是在热键进行编程后,按下键盘6上例如CTRL,ALT或SHIFT键之类转换键。一个编程键组合的例子是同时按下转换键和待编程的热键。
如果没有按照PROGRAM MODE DETECTED?判定步骤28检测出编程键序列或组合,序列24在END步骤30处终止。END步骤30中,键盘驱动器19按照熟悉本技术领域的人所知的常规方法处理输入的按键序列。但是,如果编程键序列或组合被检测出如在PROGRAM MODE DETECTED?的判定步骤28所确定的那样,序列24进入DETERMINE FOREGROUND APPLICATION步骤32。步骤32中,键盘驱动器19确定出前台运行的应用程序的文件名。在Windows CE运行环境下,键盘驱动器19通过首先得到前台视窗的一个句柄,该视窗可以通过调用GetForegroundWindow API而运行前台应用程序。采用前台视窗返回的句柄,驱动器接着采用GetForegroundWindowAPI调用得到前台应用程序的等同的过程。键盘驱动器19接着调用OpenProcess API以访问与前台应用程序相关的信息。如果API调用成功,键盘驱动器19通过调用GetModuleFileName API得到前台应用程序的文件名。GetModuleFileName API调用可以恢复前台应用程序可执行文件的全路径名。
序列24接着进行FOREGROUND APPLICATION DETECTED?判断步骤34。如果没有在判断步骤34内检测出前台应用程序,序列24进行END步骤30,此时不会有热键编程动作发生用于输入按键序列。但是,如果确定出可采用前台应用程序,序列24最好进行CONFIRMATION RECEIVED?判断步骤36,此时提示用户在放弃热键编程操作和进行热键编程操作中选择。如果用户选择放弃操作,序列24进入END步骤30。如果用户选择进入CONFIRMATION RECEIVED?步骤36的编程操作,序列24进行CONFIGURE HOT KEY步骤38。在步骤38中,键盘驱动器19通过将前台应用程序的路径名写入到与配置表或文件中与热键对应的记录中而将键盘驱动器19与前台应用程序相关联。热键14编程后,按下热键14将导致起动有关的应用程序。OS 16用配置文件内的文件名作为LaunchApp API调用的参数以起动该应用程序。最后,序列24在END步骤30终止,标志编程操作结束。