指导操作者与具有图形用户界面的电脑程序互动的系统和方法

文档序号:6656751阅读:264来源:国知局
专利名称:指导操作者与具有图形用户界面的电脑程序互动的系统和方法
技术领域
本发明是有关于一种指导操作者与具有图形用户界面的电脑程序互动的系统和方法,特别地,本发明是关于一种指导操作者操作设备中运行的软件应用程序的软件工具。
背景技术
软件应用程序每天都与数以百万计人的生活相接触。软件应用程序被应用于许多重大的商业以及在个人业务活动中发挥作用。软件的普遍性以及其日益增加的复杂性使得软件更适于操作,让用户能够快速学习和使用他们的软件。这种需求越来越多地通过在线和以电脑为基础的训练和指示来满足。
用于训练用户操作软件的传统在线和基于电脑的教学材料的缺陷之一在于其通常仅提供被动的学习经验,而不能使用户参与足够的互动来促进更高层次的学习。高端的教学软件可包括图解、视频、动画以及声音等来创造专业和有吸引力的呈现,但是该内容通常既缺少所要求的用户互动,也缺少实际操作的成效。
该训练内容通常是通过浏览器或者其他外在的应用程序传递给用户,并且用户需要在训练视窗与活动中的应用程序(Live Application)之间向前或者向后切换,使得该活动应用程序(用户接受培训的应用程序)对于用户来讲可能会变得冗长乏味、容易混淆、耗费时间并且效率不高。
更高级形式的训练教材采用了模拟技术,该模拟技术于一种训练环境中模拟一软件应用程序以允许用户来执行工作,就像用户是在实际使用该产品一样。虽然该技术克服了缺少互动教学教程的许多缺陷,但其开发和维持成本非常高。一旦最初的模拟是根据某一特定的界面构建的,那么每当该应用软件的界面被修改(被用户或软件开发商修改)之后,或者每次当一个新版本的软件开发出来之后,该教程同样必须进行升级。另外,由于在模拟环境中重新制作该软件应用程序的每一功能和能力的成本相当昂贵,因此该模拟教程通常被限定为只具有最基础的功能和程序。结果造成新版软件的投资可能变少,只剩下一些员工技术不熟练的公司,并且很可能导致在尖端边缘技术上的探索和实验减少。
此外,由于模拟的限制,用户不能了解该软件产品的全部功能。由于开发和维持具有如此广泛功能和作用的模拟软件存在了成本和困难度问题,使得模拟教学产品的开发者在克服该限制方面同样遭受障碍。
因此,需要提供一种以较高效率以及合算成本的方式来开发和维持并同时结合多媒体通信的优势和互动学习的软件教学。

发明内容
本发明是针对现有技术的状态进行开发的,特别是针对现有的教学工具尚未能完全解决的技术问题和需求来开发的。因此本发明的开发是为了提供一种可以克服现有技术中许多缺陷的教学工具。
具体地,本发明提供一种系统和方法用于通过部分模拟用户的输入来与图形用户界面(GUI)对象互动,以指示用户怎样操作一个电脑程序。这些系统和方法可通过许多不同的方式实施。例如,在一个实施例中,软件可能被分布于一个电脑可读的媒体(例如,储存于一张CD上或者通过网络下载的文件内)上来实施以上揭示的系统和方法。
在一个实施例中,软件用于使开发者能够设计出一个脚本,且该脚本包含一步一步的指示以显示给用户怎样于一个电脑程序内执行一个任务。该设计脚本部分通过与电脑程序的图形用户界面对象互动以实现该功能。本发明可广泛用于各种不同的电脑程序,例如由美国微软公司(MicrosoftCorp.)开发的Microsoft Word程序等。
该设计脚本的执行是通过显示一个部分覆盖图层位在一实际非模拟的电脑程序的图形用户界面的上方。每一部分覆盖图层可包括文字、图形、动画或者视频以向用户显示怎样向相关的电脑程序的图形用户界面对象输入以执行该任务的一个步骤。该部分覆盖图层仅仅遮蔽该电脑程序的用户界面的一部分,如此这样用户仍能够看到需要输入的相关图形用户界面对象以执行该任务的一个步骤。
每一部分覆盖图层设置在靠近相关程序的图形用户界面对象的位置,不管该下层电脑程序是否有任何程序变动影响该对象的位置。在一个实施例中,该电脑程序运行的操作系统被要求去判断该相关的图形用户界面对象的位置。通过该信息,该部分覆盖图层被设置在靠近该相关图形用户界面对象的位置。由于不需要修改该电脑程序,本发明可以很容易的实施并广泛地应用于各种不同的电脑程序。因此,其不需要说劝电脑程序的制造商去修改他们的程序来适应麻烦的协议和标准。通过本发明既可理解本发明与图形用户界面对象的互动。
此外,由于该部分覆盖图层是显示于实际且非模拟版本的电脑程序上,本发明所提供的教学比现有教学方法的效率更高。当用户在模拟版本的电脑程序上接受训练时,用户必须做相应地调整以理解该模拟软件与其使用的软件的不同之处,潜在地导致教学过程的混淆和效率的逐渐降低。本发明的系统和方法就是在用户原本要用于执行任务的软件上执行该任务,所以可以有效地提高了教学的效率。
在一个实施例中,该设计脚本可替用户执行该任务中的数个步骤,可供选择的是,该脚本也可仅指示用户执行该任务的一个步骤,并在显示关于该任务的下一步骤的指示之前,等待用户的正确输入。
该脚本通过参考一个实体映图来设计,该实体映图包括数个编程指令用于访问该程序的至少一个图形用户界面对象。该实体映图可进一步包括与每一编程指令关联的名称,以简化对每一编程指令的访问。在一个实施例中,个别的编程指令可以从该实体映图(硬编码)直接实现成该脚本。在另一实施例中,实体映图可由特定的脚本作动态或静态参考。当通过创建一实体映图来执行脚本以对应一新版本的电脑程序时,该实体映图的动态参考就能够使该脚本改编。因此,当新版本的电脑程序发布时不需要再重新设计脚本。
在脚本执行过程中,用户的输入是被随时监视的。在判断一特定用户的技巧熟练程度上,对用户输入的监视可能是十分有用的。如果由一个特定用户提供的输入经常是不正确的,该信息可被储存于一个日志中以决定需要对用户采取哪种形式的训练以提高其熟练程度。在一个实施例中,在执行脚本的过程中,不正确的输入将被该电脑程序禁止接受。在另一实施例中,可对提交不正确用户输入的用户提供正确的指示。该正确的指示可包括图形、文字、声音、视频或者动画。
在一个实施例中,本发明可与学习管理系统(Learning ManagementSystem(LMS))或者学习内容管理系统(Learning Content ManagementSystem(LCMS))一起使用。学习管理系统和学习内容管理系统都被用于数字学习(e-learning)产业以向用户显示数字学习内容并追踪他们的使用、执行和熟练状态。在这样的系统中,本发明内容包含允许该系统向用户显示其内容,在该电脑程序的内容中提供哪个相关指示以指示用户(例如,用户将看到数个任务被执行于他正在学习的应用程序中)。
例如,一个学习管理系统(LSM)可能包括一节课程是以一文字程序创建数个运送标志。该学习管理系统将利用该发明传送内容,该内容显示用户使用自己的文字程序并移动鼠标、发送键盘输入等需要的操作,以实际地创建该运送标志。该发明可随时显示任何视频或动画以及执行任何声音或其他需要的多媒体内容以传达必要的信息或指示。任何通过本发明的脚本执行所产生的数据将是在未来可用到的真实可行的数据。任何用户输入可被储存于该学习管理系统或学习内容管理系统内,并可用于管理员的分析或追踪。
在另一实施例中,本发明包含关于学习管理系统或学习内容管理系统、电脑程序或者电脑程序的用户扩展或自行定义的任务指定工作流程。这些工作流程将通过一个用于执行任务的指定步骤来指引用户。本发明将仅允许用户与该工作流程指定的对象互动。例如,实施本发明的软件可执行一个声音档案,以指示用户按下该电脑程序中的某个特定按钮。该脚本也可用于显示出一个箭头,该箭头指向将要激活的按键。然后该发明可允许用户移动该电脑的鼠标,并且除了用来执行该步骤的正确用户输入之外,指示该系统忽略任何鼠标点击。
在本发明的另一个实施例中,可以对用户在一个电脑程序里执行任务的能力进行测试。本发明能够追踪用户的输入并/或确认是否该用户正确地执行了该具体任务。该确认结果可被记录和储存于一个数据库内,该数据库与学习管理系统或学习内容管理系统相结合。例如,一个学习管理系统可在一个教程结束之后向用户展示一份测验以评定用户对展示材料的理解程度。该测试问题之一可以是要求用户执行一项任务。该学习管理系统将利用本发明的一个实施例来追踪用户与电脑程序的互动并确认该用户是否成功完成该操作。本发明将以这些测试的结果与学习管理系统交流,且学习管理系统将依序该结果记录于该数据库。
在进一步的实施例中,本发明提供一种系统,在该系统内,可自动操作通常由用户执行的任务。该实施例的一个例子可以是在电脑程序上执行品质保证测试的应用程序。对于这个例子,本发明可运行脚本以测试电脑程序的一个特定功能是否正确执行。另一个例子是,自动执行任务是为了增强某一特定任务的效率或者辅助无能力或有障碍的个体来执行特定任务。
对于整个说明书中所提到的特征、优点以及类似的用语并不意味着本发明可实现的所有的特征和优点必须在任何一个单独的实施例中都体现。更确切地,这些特征和优点等用语可理解为,结合一个实施例所描述的一个具体的特征、优点或者特性包含在本发明的至少一个实施例内。也就是说,整个说明书对于特征和优点以及类似的用语的论述可以但并不限定指的是同一个实施例。
此外,本发明所述的特征、优点以及特性可以在一个或者多个实施例中以各种合适的方式相组合。熟悉该项技术者可以知道,在缺少一个特定实施例中的一个或多个具体特征时本发明也能够实施。在其他例子中,在本发明的所有实施例中未提到的其他特征和优点也可添加到某些实施例中。
本发明的特征和优点以及其他未列举的特征和优点将在接下来的说明书以及权利要求中变得更清楚,或者可以通过下文提到的本发明的具体实施例中了解。


为更容易理解本发明的优点,前述简单提到的本发明将结合附图中的具体实施方式
来详细说明。
可以理解的是,这些附图仅仅是本发明的较佳实施例,而并非对本发明范围的限定,本发明将结合附图加以额外具体和详细的说明。
图1是本发明可实施的系统及其环境的一个实施例的方框图。
图2是本发明可以用到的一种图形用户界面的一个实施例。
图3A是根据本发明的一个实施例的一个系统的方框图,其中该系统的运行是相关于本发明。
图3B是根据本发明的一个实施例使用一概念实体映图的一个实施例。
图4是一种用于处理包含指令的脚本来模拟用户输入的方法的一个实施例的流程图。
图5是处理实体映图的方法的一个实施例的流程图。
图6是创建一个实体的方法的一个实施例的流程图。
图7是创建不同类型实体的方法的一个实施例的流程图。
图8是为一个实体获取适当的系统资源的方法的一个实施例的流程图。
图9是执行脚本命令的过程的一个实施例的流程图。
图10是执行脚本以移动鼠标至该电脑程序的一个具体图形用户界面对象的方法的一个实施例的流程图。
图11是在执行脚本过程中过滤或者阻止用户输入的方法一个实施例的流程图。
图12A-12E是用本发明的一个实施例执行一个示例电脑程序内的任务的步骤的屏幕截图。
图13是一个用于执行一个电脑程序内的任务的脚本的捕获步骤的一个实施例的屏幕截图。
图14是通过提供视频输出来帮助教用户执行电脑程序中的任务的方法的一个实施例的屏幕截图。
图15是教用户执行电脑系统内的任务的一种方法的一个实施例的流程方框图。
图16是教用户执行电脑系统内的任务的一种系统的一个实施例的逻辑方框图。
具体实施例方式
本发明的各种实施例在此将结合图1至图16加以说明。本发明的通常描述和显示于图中的元件,可由广泛的各种各样的构造来实施。这样,接下来本发明的系统和方法的实施例的详细说明,如图中所示的,并非用于限定本发明所要求的范围,而仅仅是本发明的较佳实施例的示例。
本说明书中所提到的许多功能单元被标示为模组或者元件,以着重强调他们的独立实施。例如,一个模组可由包含客户VLSI电路或者门阵列,自关断半导体例如逻辑芯片、晶体管或者其他离散元件的硬体电路来实施。一个模组或元件也可由可编程硬件设备例如现场可编程门阵列(fieldprogrammable gate arrays),可编程阵列逻辑,可编程逻辑装置或类似的装置来实施。
模组或者元件也可由通过各种程序执行的软件实施。可执行代码的已标示模组或元件,可包括可组成为一个对象、程序或功能的电脑指令的一个或多个物理或逻辑块。不过,一个标示模组或元件的可执行性不需要实体的位于一起,可包括储存于不同位置的不同型态指令,如当逻辑上结合在一起时,可以组成该模组并实现该模组的一定功能的不同指令。
事实上,一个可执行代码的模组或元件可以是一个单独的指令或者许多指令,甚至被分割成几段不同的代码片段,位于不同的程序,并访问几个记忆体设备。类似的,这里举例说明的模组内可识别的执行数据可以以各种形式组织于各种合适类型的数据结构具体实施。该执行数据可被收集为一个单独的数据集合或者可被分散至不同的储存装置的不同位置,并可,至少部分地,仅仅作为一个系统或者网络的电子信号存在。下面所描述的每一方法或每一方法的步骤可以同样由各种方式实施,例如通过硬件,软件或者两者结合实施。
整个说明书中提到的“一个实施例”或类似的用语指的是与该实施例相结合描述的一个具体特征、结构或者特性包含于本发明的至少一个实施例里。也就是说,所出现的“在一个实施例中”以及类似的用语可以,但并不限定,都指的是同一个实施例。
此外,所描述的特征、结构或者特性可以任何适当的方式在一个实施例或多个实施例中相互组合。在接下来的说明中,将会提供许多具体的细节,例如程序、软件模组、元件、用户选择、网络交互、数据请求、数据结构等等,来对本发明的实施例提供更透彻的理解。熟悉该项技术者应当知道,本发明可以在缺少其中一个或多个具体细节,或者用其他方法、元件、材料等等的情况下实施。在其他例子中,有些熟知的结构、材料或者操作并未显示或详细描述,以免掩盖本发明的实质内容。
图1至图16显示了执行该软件工具具体任务的系统和流程的实施例。虽然本发明是结合该图中所示的示例性实施例来描述,熟悉该项技术者可以知道本发明可以通过多种不同的应用程序或实施例来实施,并非将其实施具体限定于这里所描述的该特定实施例。
图1显示的是根据本发明的一个实施例,本发明可以实施的系统100及其环境的方框图。该系统100包括一个中央处理器单元(CPU)110和一个可以连接该处理器110以及该系统100的其他元件的总线111。一个显示转换器116和显示设备118,例如CRT显示器或液晶屏幕,也代表性地用到。该系统100通常采用一些形式的记忆体112,例如随即存储记忆体(例如RAM),以及存储器114(例如硬盘驱动器)来保留、储存以及处理数据。
该系统100代表性地包括一个用户界面转换器124,其能使用户输入设备(例如键盘126、鼠标127或者其他输入设备128)向该系统100提供用户输入。该用户输入设备126、127、128使用户能够发出命令、处理数据或者与系统100的其他接触。该各种各样的输入设备126、127、128以及由用户用于向系统输入的装置(通称为“输入设备”)可由鼠标、键盘、轨迹球、触摸屏,语音识别装置或其他允许用户向该系统100输入的设备或系统组成。
该系统100也可通过通信设备130,例如无线或有线网络转换器或调制解调器,与其他的设备或者资源通信,以访问网络或者在线资源132。该系统100可能与其他电脑或者设备在局域网或者广域网内网络连接。这种该系统100通过通信设备130与互联网或者其他通信系统连接的技术也是熟悉该领域技术者所熟知的。该系统100可以是一台个人电脑、工作站、膝上型电脑或者笔记本电脑,个人数字助理,便携式电话,或者其他各种允许用户输入的设备。事实上,任何具有利用用户输入的图形用户界面的设备和系统均可使用本发明的系统和方法。
许多现代电脑系统100都采用图形用户界面,这些系统100通常配备有一个显示设备118和一个或多个输入设备126、127、128以允许用户处理储存于该系统100中的数据和信息。在这样一个系统中,储存和运行于该设备100内的数据和程序在显示设备118上以图形的方式显示。用户通过操作各种输入设备126、127、128来改变和与该图形显示的对象互动。这些由用户在这些系统100上执行的动作被转换成信号,并由相应的用户界面转换器124接收。该用户界面转换器124将它收到的信号按顺序转换成可由电脑系统100处理的相应的系统信息。该接收的信号使得该电脑系统100去修改它所保存的数据和程序,这样允许用户通过视觉和触觉的方式来互动以及修改该抽象的数据。
本发明所揭示的系统和方法可以与各种不同形式的使用用户界面的电脑系统100相结合实施。例如,该电脑系统100可以是一台个人数字助理(PDA)、笔记本电脑、桌上型电脑、服务器、平板电脑或者无线电话等。
图2显示的是图形用户界面200的一个实施例,其可显示于显示设备118上。该显示的图形用户界面200包括一个桌面201,其是一个包含各种用户可视的图形对象的区域。该桌面201包括一个以图形展示软件、程序或功能的视窗202。该桌面201以及视窗202可选择性地包括数个图形用户界面对象(“GUI objects”),例如按钮203,菜单204,菜单项目205,文字区域206,项目列表207以及图像208,熟悉该项技术者都知道,图形用户界面对象除了图2所示的这些之外,还可以有其他各种形式。
显示于图形用户界面200的数个对象仅仅是由电脑系统100储存或者创建而成的软件、数据、功能以及程序等的视觉显示而已。该电脑系统100保持图形用户界面对象和实际数据以及他们相关程序之间的链接。这样做法通常是在系统或者应用程序层保存所有活动图形用户界面对象的列表,并通过句柄、资源识别号或其他参数将该有关的图形用户界面对象与实际数据相链接。对于熟悉该项技术者来讲,很显然,这里所述的系统和方法可以与当前可用的各种图形用户界面系统,例如由微软公司开发的微软视窗操作系统等,相结合实施。
接下来将更全面的揭示本发明提供的一种机制的一个实施例,开发者可以通过该机制可创建并传递指示用户怎样操作一个电脑程序的互动内容。该互动内容可以通过组织和协调文字、声音、视频、动画、影像等内容来向用户提供指示。该互动内容可以与通过与用户正在学习的实际并非模拟的电脑程序的图形用户界面对象互动所产生,或者用户能够引发产生的互动行为相结合。“互动内容”和“互动行为”可以包括发送至电脑程序的在电脑程序内模拟用户互动或者指示用户提供这样的互动的指令。通过互动内容和互动行为的使用,该内容开发者可以驱动用户的鼠标指针在屏幕上移动,从菜单和列表中做出选择,输入键盘输入至某一特定的区域,以及模拟任何可由用户使用输入设备执行的行为。本发明的一个实施例指示用户提供具体的输入以执行该电脑程序的任务的一个步骤,并在显示关于该任务的下一步骤的指示之前,等待用户的正确输入。本发明也可执行该内容开发者所要求的系统命令、程序以及功能来辅助正发生的指示。例如,该内容开发者可以使本发明调用未载入的特定的电脑程序。为方便起见,内容开发者可以选择不通过同样的程序调用该电脑程序,而是简化处理一个命令来调用该应用程序。
图3A是一个与本发明的一个实施例结合操作的系统301或者电脑设备的方框图。所示的系统301包括一个图形用户界面310和一个输入队列320用于接受用户通过各种输入设备330的输入。在一个实施例中,本发明包括一个输入监视器343来监视从输入设备330收到的输入。
本发明利用脚本344,模拟用户输入到系统301运行的电脑程序346的图形用户界面310中。对应该模拟的用户输入,该电脑程序346执行电脑程序346内的任务的一个步骤。通过在电脑程序346上执行使用模拟输入的任务和/或互动内容,本发明向用户清楚地展示了如何执行该电脑程序346的任务。
在可选择的实施例中,本发明本身并不执行任务,而是通过使用模拟用户输入和/或互动内容向用户显示如何执行任务。在这样的实施例中,该输入监视器343判定正确的用户输入是否已经被收到。当正确的用户输入已经被收到时,用户被指示执行该任务的下一步骤。在一个实施例中,如果不正确的输入被收到,则向用户提供正确的指示。
该脚本344访问(在该脚本设计、运行或者同时进行时)一组一个或者多个实体(统称为实体映图345)以判断怎样向特定的图形用户界面提供模拟用户输入。该实体映图345,如图3A和图3B所示,包括数个编程指令347用于访问特定电脑程序346的至少一个图形用户界面对象。
如图3B所示,在实体映图345的每一项目可选择性地包括一个名称349,以方便参考数个编程指令347,该数个编程指令347用于访问显示的图形用户界面对象。例如,如图3B所示,对于特定菜单或程序的“确定”按钮,在实体映图345中可以通过名称“App.Buttons.OK”以及该按钮所在的程序或视窗的参数以及该按钮的说明或命令ID来识别。
该实体映图345内的编程指令347需要够详细,让系统301能够设置该对象的位置并通过系统301提供的方法和功能获取该对象的参数或句柄来实现。在一个实施例中,本发明依靠将该图形用户界面对象缩略成一个可用于定位该对象的系统句柄或其他参数的数据编码。通过获取该句柄或参数,该系统301可要求找回该图形用户界面对象相关的信息,例如当脚本344执行时候,该图形用户界面对象当前的位置。
名称349的使用是可选择的,并且并未要求在实体映图345的每一个实施例中都用到。然而,在一个实施例中,使用名称349可简化使用一组脚本命令来访问特定的图形用户界面对象的步骤。换句话说,该实体可以通过参考名称349,而不是通过编程指令347来访问。
在一个实施例中,该实体映图345被储存为一个特别的文件。然而,熟悉该项技术者可以知道,该实体映图345不必是一个单独的文件,可以与实施的电脑程序346编译在一起,可以由在线或者网络资源的一个数据流提供,或者甚至可以通过盘点系统内图形用户对象列表的实施动态生成(on the fly)并仅储存于随机储存器内。事实上,任何已知的程序和方法都可用于实施一个合适的实体映图345。
图4是执行本发明包含指令的脚本344以模拟用户输入的方法的一个实施例的流程图400的步骤。如图所示,步骤401是开始,在一个实施例中,步骤405是脚本被解析成指示、命令和注解。命令是在执行过程中由脚本执行的功能,而指示是准备执行脚本344(例如实体映图345至脚本344的动态链接)。在一个实施例中,该脚本344包括一个标题。该标题是一个显示哪个实体映图345应该与该脚本344结合使用的指示。注解是人可读的文字,在脚本344处理中可忽略或不用。
在解析脚本344的步骤405之后,步骤410是该实体映图345被处理和载入记忆体(该内容将结合图5-7详细解释),接着步骤415是该脚本命令被执行。紧跟着脚本命令的执行,步骤420是该脚本344结束。
执行脚本345可以通过各种方式实现。例如,在一个实施例中,该脚本344可以逐行读取。某一特定行可显示应该访问哪个实体映图345。该脚本的每一行被顺序执行415直至到达脚本的结尾。
在另一个实施例中,步骤405是该脚本344通过解析标题、处理实体映图345和创建必须的代码来执行脚本344中所列的命令来处理。该脚本然后被编辑成可执行格式(例如.NET汇编)并被保存或者执行步骤415。
熟悉该项技术者可以知道,步骤405的该脚本344解析、步骤410的处理以及步骤415的执行可以通过本发明的范围内的众多不同方式实现。
图5是提供图4中仅简单描述的本发明处理实体映图345的方法的一个实施例的详细叙述的流程图。首先,步骤501是该处理过程开始,然后步骤505是一个包含实体映图345的文件被打开,以及步骤510该下一行(在第一实施例中是第一行)被读取。
然后步骤515判断是否到达该脚本的结尾,当到达脚本结尾时,步骤520是该处理结束。
如果未到达该文件的结尾,步骤525是判断相关行/命令是否是一个实体声明。如果是一个实体声明,步骤530将创建一个实体。该处理将对该脚本344的每一行重复执行。在实体创建之后,其可被脚本344用于访问或者获取关于相关图形用户界面对象的信息。
在一个实施例中,实体的创建可以采取当脚本执行时在将来的某些点显示的一类声明的形式创建。可选择的,该处理可以以一种当命令执行时适合将来使用的方式包括该相关对象的显示和储存,或者也可以简单包括立即要用的一个对象的创建。在另一实施例中,对象的显示是通过实施一个标准界面并将该对象储存于一个收藏夹里实现。每一对象与它需要的信息一起创建以设定该相关实体关联的图形用户界面对象的位置。该实体的收藏夹,在一个实施例中,可根据实体的名称来横断。
在另一个实施例中,脚本344被转换成可执行集合。在这样的实施例中,实体映图中的每一实体345是一个自定义类声明,并在该集合执行时增加一行将显示相应命名的对象的代码。
再次说明,熟悉该项技术者可以知道本发明的结合图5所述的处理程序可以通过上述方法之外的其他技术和方式来实现。
图6是图5中简单提到的本发明创建530一个实体的方法的一个实施例的详细描述的流程图600。
如上所述,实体映图345里的实体包括指令347用于访问用户图形界面对象。该指令可与可用于访问相关图形用户界面对象的名称349链接。步骤601是当处理实体映图345时,该映图345的每一实体被转换成一个可用格式。在一个实施例中,步骤605是决定该实体的基本类型(例如视窗、按钮、工具条或菜单形式的实体)和用于定位该实体的参量(例如名称、母体对象、分类等等)。在一个实施例中,步骤610是该信息被用于选择实施标准界面的合适分类,并向该实体例示该分类和具体信息。然后,步骤620是该实体创建程序结束。
再次说明,熟悉该项技术者应该知道以上仅是本发明范围内的创建实体的众多方式中的一个例子。
图7显示的是提供图6简单提到的本发明创建一个实体的一个实施例的更详细描述的流程图700。在实体创建程序开始步骤701之后,步骤710是判断将要创建的实体是否为一个视窗形式。如果是,步骤715则创建一个视窗实体。
如果将要创建的实体不是一个视窗实体,步骤720判断将要创建的实体是否为一个按钮形式的。如果是,步骤725创建一个按钮。
如果将要创建的实体既不是视窗也不是按钮形式的,步骤730判断其是否为菜单形式的实体,如果是,步骤735创建一个菜单实体。
在所举的实施例中,在上述步骤之后实体创建程序结束740。熟悉该项技术者应当知道,该方法可以由众多不同的方式实施。例如,在其他实施例中,如果合适,可以创建不同于图7所示的各种类型的实体。
图8是为用户图形界面对象获取相关的系统资源句柄或参数的方法的一个实施例的流程图。步骤801该程序的开始,随着步骤805在实体映图345内找到相关实体。然后,可以通过,例如定位与访问实体映图345(如图3B所示)内的实体的相关指令所关联的名称,来执行实体的定位。
然后重新获取将要定位的图形用户界面对象的指令347。然后根据系统301提供规则和程序执行,步骤815查询该系统301(如图3A所示)(例如通过查询该系统301使用的操作系统),以获取系统301所保存的该图形用户界面对象的资源句柄或其他参量。然后步骤820结束该程序并将所获取的参数返回给请求它的程序,这样该参数可用于执行与该相关的图形用户界面对象关联的任务。
图9是根据本发明的一个实施例,执行脚本344中的单独命令的方法的流程图900。步骤901程序开始,首先步骤905识别命令。通常所识别的命令是脚本344中的下一顺序命令。
每一命令可包括一个程序执行的程序对象、该将要访问和执行的对象的功能和属性以及该功能/属性的相关参数。相应的,步骤910的第一步是获取该程序对象。接下来,步骤915获取该程序的功能/属性。然后,如果存在于该命令中的参数,步骤920也将被获取。
然后步骤925判断是否该参数指向一个实体。如果是,步骤930是该实体用于获取一个句柄、资源标示号,或者其他该相关实体的其他参数。这些步骤之后是执行步骤940的该命令。当然,如果未指向实体,该命令可不获取句柄、资源标示号或该相关实体的其他参数而直接被执行。
然后步骤945,单个命令的执行结束并根据上述提到的程序执行另一命令,或者如果到达该脚本344的结尾,则结束脚本。再次说明,熟悉该项技术者可以知道,该脚本344可以通过本发明范围内的除前述所述的方法之外的其他各种方法执行。
图10是根据本发明的实施例,向图形用户界面上对鼠标指针执行具体命令(例如移动鼠标)的方法的流程图。该图10所示的流程图显示的是图9中所示的更概括性的一个指令执行的具体实施。对于图10,所示的移动鼠标的命令接受一个具体图形用户界面对象的实体名称(例如app.Buttons.OK)然后移动鼠标至该对象。
步骤1001是该程序开始,随着步骤1005是该“移动鼠标(App.Buttons.OK)”的命令必须首先被识别。然后,步骤1010是该对象“鼠标”被获取。接下来,获取该对象的功能/属性“移动”被获取。然后,步骤1020是该参数“App.Buttons.OK”被获取。
然后步骤1025是决定该参数指向一个具体的实体。因为参数指向一个具体实体,步骤1030是获取该相关实体的句柄、资源识别号或者其他参数。
步骤1035是该实体可被用于获取该相关图形用户界面对象(例如“OK”按钮)的句柄、资源标示号或者其他参数并通过查询系统301(如图3A所示)来决定该图形用户界面对象的屏幕调整。然后,执行命令将该鼠标指针移动至该实体所指向的具体图形用户界面对象。然后,步骤1045是该命令执行结束。
以上程序不管当前用户图形界面对象是何状态,都允许脚本行为工作。例如,指向上述提到按钮的脚本将移动鼠标指针至该按钮,而不管该按钮在该图形用户界面内的位置。这是因为脚本344不包含该按钮的硬件代码坐标而仅是通过该实体映图345的该按钮的一个参数。这样在创建互动内容上提供了多种灵活性和可行性,因为该内容可形容具体图形用户界面对象儿不时该图形用户界面的固定位置。这很关键,因为如果用户移动一个图形用户界面对象或者正在不同的屏幕解析度下运行该电脑程序346(如图3A所示),识别图形用户界面内的固定位置来激活一个图形用户界面对象在选择或访问图形用户界面对象时可能不可靠。
该实体映图345也可使脚本344在不同版本的电脑程序346上正确执行。使用本发明,一个单独的脚本344可以对于两种完全不同版本的电脑程序都是有效的。例如,一个访问打印功能的菜单选项,在文字处理电脑程序346的版本1中可能位于文件下拉菜单内,在同样的电脑程序346的版本2中,该菜单项目可能位于运行下拉菜单内。如果该脚本344是与相应版本的正确实体映图一起提供,则移动鼠标至该打印菜单图形用户界面对象并点击它以激活相应命令的脚本344可能对两种版本的电脑程序346都是有效的。当该脚本344在版本1中执行时,将使用该版本电脑程序346的实体映图345并在文件菜单下找到打印菜单选项。当同样的脚本344在版本2中执行时,将使用新版本的电脑程序346的实体映图345并在运行菜单下以找到该打印菜单图形用户界面对象。
在一个实施例中,本发明也可在系统输入设备330上强加挂钩来阻止、过滤程序或其他形式来监视用户的输入。这可用于防止用户中断正在执行的任务或阻止用户向系统发送在当前脚本或正处理的工作流程设定的参量下不允许的输入。这些挂钩的创建是由发明者,例如使用输入监视器(图3A所示)自己强加给系统下层输入队列(也如图3A所示)的。该强迫是根据由为完成这样的一个输入挂钩的系统所设定的功能和程序来发生。
所示的本发明的实施例,可根据需要安装和卸载这些挂钩,以阻止或允许所有的用户输入,也用于建立仅允许某些输入的输入过滤机制。例如,在一个工作流程中通过本发明指引的用户可以被指示选择工具条的一个具体选项。本发明可允许用户在图形用户界面200(图2所示)上到处移动该鼠标指针,但是不理睬除了点击在工具条选项上的点击之外的所有鼠标点击。如图3所示,由于该输入监视器343在系统输入队列320之前获取用户输入,本发明可确认在当前环境下是否允许该输入。
图11显示的是过滤用户输入的过程的一个实施例的流程图1100。步骤1101该程序开始,随着步骤1105是一个实体被登记为一个过滤,然后激活一个过滤,该过滤是根据一个图形用户界面对象和所要求的用户输入的类型定制的。然后步骤1110是判断用户输入是否被接受。当输入被接受,步骤1120是该实体映图345被用于获取登记为过滤对象的句柄或参数。然后步骤1125是查询该系统301(图3A所示)以判断该图形用户界面对象的坐标和边界并因此判断该可接受的用户输入的坐标和边界。
然后步骤1130判断该收到的用户输入是否落在该实体设定的参数范围内。如果用户输入是不正确的,则步骤1135忽略该输入及步骤1110再次监视用户输入。如果用户输入是正确的,步骤1140由该输入产生的信号被发送至输入队列320(图3A所示),然后步骤1150该程序结束。
一旦用户点击该相关区域或提供其他相关用户输入,则执行该脚本344的下一个命令。这些成串排列的过滤器,共同使得本发明可在整个工作流程中导引用户完成该电脑程序346(图3A所示)内的具体任务的具体步骤。
熟悉该项技术者可以知道,可通过各种方式进行监视和过滤输入,包括记录和确认用户输入。本发明的一个实施例可通过判定不正确输入和正确输入的频率来测试和评估用户的认识和熟练程度。可选择的是,去追踪用户的输入以确认,用户正在执行与他们所指派的任务相关的功能,或者是根据原则或标准在执行。
图12A至图12C是执行根据本发明的一个脚本344(图3A所示)的实施例的屏幕截图。在该实施例中,该用户所学习的电脑程序346(图3A所示)是由微软公司开发的文字软件。应当理解的是,该所示实施例仅仅是本发明的例子而并非对本发明的限定。本发明可用于与各种具有图形用户界面和相应操作系统的电脑程序创建脚本344,并被用于创建和执行脚本344以执行电脑程序346的几乎所有功能。
请参阅图12A,其显示第一屏幕截图1200a,在该屏幕截图1200a中,该相关脚本344已经启动。该脚本344提供一步一步的指示来指导用户怎样执行一项电脑程序346内的任务(在该实施例中是创建一个组织架构)。该脚本344使得一个第一部分覆盖图层1201被显示于该电脑程序346的实际并非模拟的图形用户界面1203的上面。该第一部分覆盖图层1201仅仅覆盖该电脑程序346的图形用户界面1203的一部分,这样用户仍然能够看到该电脑程序346的剩下的图形用户界面1203并根据该部分覆盖图层1201的显示与该电脑程序346互动。
该图12A所示的部分覆盖图层1201向用户显示“点击插入菜单”1205。在一个实施例中,点击插入菜单1205可替用户执行或者可选择地由用户来执行。如果该步骤是由用户来执行,在用户点击插入菜单1205之前不会显示该任务的下一步骤。
如上所述,在一个实施例中,保存用户输入的日志来判断该用户的熟练程度。例如,如果所提供的用户输入经常是不正确的,这表明该用户需要额外的训练。这些日志可以保存于一个储存设备114或者记忆体112(图1所示)内以在稍后判断该用户的熟练程度以及该用户的熟练程度是否得到提高、停滞或者倒退。在一个实施例中,不正确的用户输入被禁止传达给该电脑程序346而且不会改变或者影响该电脑程序346的状态。
该第一部分覆盖图层1201被设置在靠近相关的图形用户界面对象1205(插入菜单1205)的位置,不管有无任何该电脑程序346源代码的变动影响该图形用户界面对象的位置。如图所示,该部分覆盖图层1201被设置在靠近该插入菜单1205的位置并指向该插入菜单1205。在一个实施例中,本发明向该电脑程序346运行的系统查询以利用实体映图345判断所询问的图形用户界面对象1205的位置。一旦该图形用户界面对象1205的位置被判断之后,该部分覆盖图层1021即可设置在靠近该相关图形用户对象1205的位置。
请参阅图12B所示,屏幕截图1200b显示的是所示任务的第二步骤,如上所述,该任务的第一步骤已经替用户或者由用户来执行了。相应的,会显示出与该插入菜单1205相关的下来菜单1207。一个第二部分覆盖图层1209(对应于该任务的第二步骤)被显示并设置在靠近下拉菜单的“图表…”菜单选项1211的位置,该菜单选项1211是通过点击插入菜单1205而激活的。该步骤的部分覆盖图层1209向用户显示“点击该图表…菜单选项”。
请参阅图12C所示,屏幕截图1200c显示的是正确的指示1208被显示的一个实施例。对于这个例子,该图12C所示的正确的指示1208的显示是由于对于第二部分覆盖图层1209(图12B所示)出现了不正确的输入。例如,如果用户点击了“图片”菜单选项1213(而不是图表菜单选项1211),将会出现所示的正确的指示1208。该所示的正确的指示1208是一个鼠标输入设备的图形,其显示鼠标左键被突出显示以向用户显示正确选择“图表…”菜单选项1211的方法。当然,也可以提供其他类型的正确指示,例如本发明范围内的警报声、动画指示、视频指示或者音频说明。
请参阅图12D所示,显示的是所示任务的第三步骤的屏幕截图1200d。在与组织架构相关的图形用户界面对象1217的位置出现一个第三部分覆盖图层1215,以向用户显示选择该图形用户界面对象1217。
请参阅图12E所示,显示的是所示任务的第四步骤的屏幕截图1200e。第四部分覆盖图层1218设置在靠近与所示的确定按钮1219相关的图形用户界面对象的位置,指示用户选择该按钮1219以完成在该电脑程序346内创建一个组织架构的任务。
在一个实施例中,在脚本344执行时,该实体映图345(图3A所示)和/或脚本344(图3A所示)动态关联一个或多个图形用户界面对象以决定将在部分覆盖图层内显示的文字1220。该程序的重要优点在于一个单独脚本344可用该电脑程序所使用的语言(例如英语、西班牙语、法语)在该部分覆盖图层1218内显示文字1220。相应地,脚本344不需要采用与该脚本编写语言不同的语言来重新编写与电脑程序346关联使用的文字1220。
请参阅图13所示,显示一个脚本344的用户输出顺序记录的图形用户界面1301的屏幕截图1300。在一个实施例中,当本发明的记录元件被激活时,脚本344可通过执行电脑程序346内的该脚本的步骤来设计。用户输出显示在这样一个记录过程中创建的脚本344的步骤。更具体地,用户输出显示图12A-12E所示的脚本344的步骤。如图所示,该任务的步骤不是由脚本344所执行。相反地,该脚本344在处理该任务的下一步骤之前,如图所示,例如,要通过脚本步骤1303“等待用户点击插入菜单”,来等待用户的正确输入。
请参阅图14所示,其显示与脚本344的执行结合使用的视频输出1401的屏幕截图1400。本发明的该脚本344是多功能的,不仅包括部分覆盖图层,而且也可包括视频和音频输出以帮助用户学习如何使用具体电脑程序346(图3A所示)。本发明的多功能性使得,对于特定的一个用户或者用户群定制的互动内容的创建很简单。
请参阅图15所示,其显示的是指导操作者执行电脑程序346内的任务的方法的一个实施例的流程图1500。该方法可通过数种不同的方式实施。例如,该方法可通过使用分布于电脑可读媒体例如CD或DVD内的软件,或者是使用互联网或局域网下载该软件的传播媒体内的一个具体数据信号来实施。实施该方法的软件也可以硬编码的形式分布,例如嵌入系统的一部分或者与一个电脑系统一起储存于硬盘驱动器114内。
首先步骤1501是创建一个实体映图345。如上所述,该实体映图345包括数个编程指令347访问电脑程序346的特定图形用户界面对象。该实体映图可进一步包括与每一编程指令347关联的名称349,以简化对编程指令347的访问。该实体映图345可通过分析特定电脑程序346相关的图形用户界面对象,手动或自动或者使用手动和自动结合的方式创建。该实体映图345可在脚本344的设计和执行过程中都用到。
如上所提到的,该实体映图345在使用本发明的系统和方法上提供很大的灵活性。例如,在一个实施例中,可通过将脚本344关联至与相应版本的电脑程序346相关的实体映图345,而使得脚本344在老版本和新版本的电脑程序346中都可使用。
接下来步骤1505,通过参考实体映图345设计脚本344。在设计过程中,实体映图345可用于决定怎样访问和定位具体的图形用户界面对象以执行任务的步骤。在一个实施例中,个别编程指令347可由该实体映图345直接实现(硬编码)成该脚本344。在可选择的实施例中,特定的脚本344可动态或静态地参考该实体映图345。当脚本344在新版本的电脑程序346内执行时,通过创建根据新版本电脑程序346改编的实体映图345,动态参考实体映图345能够促使该特定脚本被改编。在一个实施例中,在脚本344被执行的时候,该脚本344可判定哪个版本的电脑程序346在运行并参考相应的实体映图345以正确执行该脚本344。
紧接脚本344的设计之后,步骤1510是执行该脚本344。该脚本344可以是一个来自于实体映图345的特别的文件或者直接实现成该实体映图345。在执行脚本344的过程中,如前面所解释的,该脚本344向用户显示怎样执行该电脑程序346内的任务。其可以通过替用户执行该任务来实现,这可以包括部分覆盖图层(例如图12A所示的部分覆盖图层1201)或其形式的指示,或者通过向用户显示怎么执行该任务但并不亲自执行该任务。如上所述,来自实体映图345的指令347可直接实现成该脚本344或者可选择地该脚本344可动态或静态地参考该实体映图345。
在脚本344执行过程中,步骤1515是显示部分覆盖图层。该部分覆盖图层直接显示于该电脑程序346的实际非模拟的图形用户界面的上面。每一部分覆盖图层从视觉上显示给用户以提供输入使得该电脑程序346执行该任务的一个步骤。在一个实施例中,如果替用户执行该步骤,每一部分覆盖图层将以一定的速度显示,这样在下一步骤执行之前,用户将有足够的时间来预览该部分覆盖图层。可选择地,每一部分覆盖图层将一直显示到该用户执行完该相关步骤之后才结束。
该部分覆盖图层可以包括文字、图像、动画或者视频向用户显示怎样向电脑程序346的相关的图形用户界面提供输入。该部分覆盖图层仅遮蔽该电脑程序346的用户界面的一部分,这样用户仍能够看到需要输入的相关图形用户界面对象以执行该任务的一个步骤。
此外,在执行脚本344的过程中,部分覆盖图层设置于靠近相关图形用户界面对象的位置。该位置的设置不管不管有无任何该电脑程序346源代码的变动影响该图形用户界面对象的位置。如上所述,这可以通过查询所使用的系统301来判断该图形用户界面对象在运行时候的位置,然后正确地设置该部分覆盖图层的位置。这一特征的结果是,用户自己可直接与该程序互动而不管该电脑程序的图形用户界面对象是何种构形。这样,图形用户界面对象的用户自定义不会阻碍该方法的执行。此外,因为用户是在与将要执行任务的构形下的电脑程序346互动,用户将更加容易学会执行该任务。也就是用户不会被电脑程序346内的图形用户界面对象的不同情形混淆。
在脚本的执行过程中,步骤1525是随时监控用户输入,这可以通过使用结合图3A所解释的输入监视器343来实现。该用户输入的监视可用于判断该特定用户的熟练程度。
在一个实施例中,步骤1530是不正确的输入被该软件346禁止接收。例如,这可以通过使用结合图11所述的过滤用户输入的方法实现。
在另一个实施例中,在脚本344执行过程中,当用户提交不正确的输入时,步骤1535是向其提供正确的指示。该正确的指示可以通过各种方式实施,例如图12C所示的正确指示1208,或者通过声音、视频或动画等方式。
图16是指导操作者怎样执行电脑程序346内的任务的步骤的一种系统1600的逻辑元件方框图。所示的逻辑元件可以使用图1和图3所示的一种或多种物理元件实施。另外,或者可选择的,各种逻辑元件可以通过储存于记忆体112和/或存储器114并由中央处理器单元110执行的软件模组来实施。当然,该逻辑元件也可由软件和硬件相结合来实施。如果采用软件的方式实施,每一元件可包含一个或多个分散的,可独立操作或与其他软件或硬件配合操作的常用软件模组。该系统1600不需要包含一个单一软件备份,可以包括众多分散的软件备份。
该系统可包括一个通过参考实体映图345a来设计脚本344的脚本设计元件1605。如上所述,该实体映图345a包括数个编程指令347用于访问电脑程序346内的图形用户界面对象。该脚本设计元件1605访问该实体映图345a以决定哪个名称349或编程指令347去包含或者关联于该脚本344,以访问电脑程序内的图形用户界面对象。该名称349或编程指令347也可用于脚本344内,以判断一个具体图形用户界面对象的位置来执行该任务的一个步骤。如前所述,新版的实体映图345b可用于在新版本的电脑软件346上运行脚本344。
在一个实施例中,脚本设计元件1605使用记录元件1610来设计脚本344。当记录元件1610被激活时,直接输入至电脑程序346的用户输入被捕获并被记录后续执行。记录元件1610的使用简化了脚本的设计。可以在仅知道一点或者不知道该电脑程序346的设计程序的情况下设计不同类型的脚本344。仅通过执行这些步骤并记录他们,这些步骤就可以被捕获至一个脚本用于后续执行。在一个实施例中,该部分覆盖图层(例如图12A所示的部分覆盖图层1201),包括该图层内的指示,可以在记录过程中自动生成。
紧接该设计脚本344之后,可通过一个脚本执行元件1615执行该脚本344。该脚本执行元件1615包括一个显示元件1620、一个定位元件1625,以及可选择地包括一个输入监视元件1630和一个正确指示元件1635。
在执行过程中,该显示元件1620在该电脑程序346的实际非模拟的图形用户界面上显示至少一个部分覆盖图层。每一部分覆盖图层视觉上地向用户显示以向相关图形用户界面对象提供输入以驱动电脑程序346执行该任务的一个步骤。在一个实施例中,该脚本执行元件1615也可替用户执行该任务的步骤。
该定位元件1625将部分覆盖图层设置于靠近相关图形用户界面对象的位置,不管有无任何该电脑程序346源代码的变动影响该图形用户界面对象的位置。如上所述,这是一个重要的优点,因为本发明所揭示的系统和方法可用于任何具有图形用户界面对象和访问这些对象的相关功能的电脑程序346,例如操作微软视窗操作系统的电脑程序346。
在一个实施例中,输入监视元件1630可用于监视收到的来自用户的输入。该元件1630可包括,例如,图3A所示的输入监视器343。在该用户输入可以在到达该电脑程序或者甚至系统输入队列320(图3A所示)之前就被捕获。该输入监视元件1630也可过滤或者阻止那些前面结合图12的方法所述的不正确的用户输入。
本发明的一个实施例包括一个正确指示元件1635,该正确指示元件1635与输入监视元件1630通信以确定收到的用户输入。如果收到的用户输入是不正确的,该正确指示元件1635可提供正确的指示(例如,图12C所示的正确指示1208)给用户以显示应该收到的正确形式的输入。
如前面所提到的,这里所描述的程序可以与已知的显示方法和相关多媒体对象混合。这样的对象包括,但并不限于,视频、动画、声音文件、超级链接文件以及影像等。通过将多媒体对象与这里所描述的互动功能相结合,可以开发出一种能够为软件产品提供高效互动训练的软件,而不必像现有技术中要支付大量的费用和劳动。
可以理解的是前面所述的布置仅仅是本发明的原理的应用。然而,本发明可以在不脱离本发明的实质和精神的前提下以各种具体形式实施。所述的实施例都只是本发明的示例而非限定。本发明的范围以权利要求而非前述说明为准。所有根据本发明的精神所作的变化以及等同的延伸均包含于本发明的权利要求的范围内。
例如,对于前述功能和作用的补充,本发明也可被改编而应用于其他的各种应用程序。在本发明的一个实施例中,可以预料到的是它的与图形用户对象互动的功能可以在该软件备发布给终端客户之前,用于测试和确认一个软件程序的正确功能。另一个实施例则可允许开发者为无能力或者有障碍的用户自动执行该任务。通过本发明的进一步可能的预想是它在向软件终端用户提供技术和工作流程支持方面的应用,例如通过软件技术支持提供者或者由互联网的自动支持程序所提供的脚本等各种方式。
如上所述,本发明可通过浏览器或者其他应用程序,或者在其自己的程序和记忆体空间内,与LMS/LCMS系统结合使用来执行目标程序。这包括由互联网,通过文件系统,或者与一个学习或帮助系统,传递的本发明或其内容。
这样,以上已经对本发明结合本发明的最佳实施例做了详细说明,对于本技術領域内的一般技術人具来讲,对于本发明的各种组合、使用或者修改,包括但不限于各种尺寸、材料、形状、形式、功能以及执行方式的修改,很显然都不脱离本发明权利要求的范围。
权利要求
1.一种电脑可读媒体,其具有电脑可执行程序用于执行一种指导操作者怎样在电脑程序内执行任务的方法,该电脑程序具有至少一个图形用户界面对象执行所需的动作以对应操作者的输入,其特征在于该方法包括通过参考一个实体映图设计一个脚本,该脚本包括显示给该电脑程序的操作者怎样执行该任务的一步一步的指示,其中该实体映图包括数个编程指令以访问该电脑程序的至少一个图形用户界面对象;以及通过下面的步骤执行脚本在电脑程序的实际并非模拟的图形用户界面上显示至少一个部分覆盖图层,每一部分覆盖图层在视觉上显示输入,该输入是将要提供给相关图形用户界面对象以使该电脑程序执行该任务的一个步骤;以及不管有无任何该电脑程序源代码的变动影响该图形用户界面对象的位置,都将该部分覆盖图层设置在靠近该相关图形用户界面对象的位置。
2.如权利要求1所述的电脑可读媒体,其特征在于执行脚本包括动态参考该实体映图。
3.如权利要求2所述的电脑可读媒体,其特征在于其进一步包括一个新版本的实体映图是为新版本的电脑程序所创建的,其中执行脚本的步骤包括参考该实体映图的新版本并与该新版本的电脑程序一起正确执行。
4.如权利要求1所述的电脑可读媒体,其特征在于至少一个来自于该实体映图的编程指令被直接并入该脚本。
5.如权利要求1所述的电脑可读媒体,其特征在于执行脚本包括一个从该电脑程序分离的处理程序。
6.如权利要求1所述的电脑可读媒体,其特征在于该方法进一步包括在脚本执行过程中监视收到的操作者输入。
7.如权利要求6所述的电脑可读媒体,其特征在于该方法进一步包括阻止不正确的操作者输入被该电脑程序接收。
8.如权利要求6所述的电脑可读媒体,其特征在于该方法进一步包括提供正确的指示给操作者以响应在脚本执行过程中所收到的不正确的操作者输入。
9.如权利要求1所述的电脑可读媒体,其特征在于设计脚本包括记录任务步骤的执行。
10.如权利要求9所述的电脑可读媒体,其特征在于其进一步包括当记录步骤的执行时,设定脚本产生部分覆盖图层以对应任务步骤的执行,并在该脚本内自动创建编程代码。
11.如权利要求1所述的电脑可读媒体,其特征在于脚本的执行进一步包括动态参考图形用户界面对象以决定将要显示于部分覆盖图层上的文字语言。
12.一种电脑可读媒体,其具有电脑可执行程序用于执行一种指导操作者怎样在电脑程序内执行任务的方法,该电脑程序具有至少一个图形用户界面对象执行所需的动作以对应操作者的输入,其特征在于该方法包括通过参考一个实体映图设计一个脚本,该脚本包括显示给该电脑程序的操作者怎样执行该任务的一步一步的指示,其中该实体映图包括数个编程指令以访问该电脑程序的至少一个图形用户界面对象;以及其中该脚本包括编程指令,该编程指令用于在电脑程序的实际并非模拟的图形用户界面上显示至少一个部分覆盖图层,每一部分覆盖图层在视觉上显示输入,该输入是将要提供给相关图形用户界面对象以使该电脑程序执行该任务的一个步骤;以及不管有无任何该电脑程序源代码的变动影响该图形用户界面对象的位置,都将该部分覆盖图层设置在靠近该相关图形用户界面对象的位置。
13.如权利要求12所述的电脑可读媒体,其特征在于在脚本执行过程中该脚本被设定动态参考该实体映图。
14.如权利要求13所述的电脑可读媒体,其特征在于其进一步包括一个新版本的实体映图是为一新版本的电脑程序所创建的,其中通过参考该新版本的实体映图,设定该脚本在该新版本的电脑程序上适当执行。
15.如权利要求12所述的电脑可读媒体,其特征在于至少一个来自于该实体映图的编程指令被直接并入该脚本。
16.如权利要求12所述的电脑可读媒体,其特征在于通过记录该该任务的数个步骤的执行来设计该脚本。
17.一种指导操作者怎样在一个电脑程序内执行任务的系统,该电脑程序具有至少一个图形用户界面对象执行所需的动作以对应操作者的输入,其特征在于该系统包括一个实体映图,其包含数个编程指令用于访问该电脑程序的至少一个图形用户界面对象;一个脚本设计元件,其参考该实体映图并产生一个脚本显示一步一步的指示给电脑程序的操作者怎样执行该电脑程序内的任务;以及一个脚本执行元件,其执行该脚本并包括一个显示元件,其在电脑程序的实际并非模拟的图形用户界面上显示至少一个部分覆盖图层,每一部分覆盖图层在视觉上显示输入,该输入是将要提供给相关图形用户界面对象以使该电脑程序执行该任务的一个步骤;以及一个定位元件,不管有无任何该电脑程序源代码的变动影响该图形用户界面对象的位置,都将该部分覆盖图层设置在靠近该相关图形用户界面对象的位置。
18.如权利要求17所述的系统,其特征在于在脚本执行时,该脚本执行元件动态参考该实体映图。
19.如权利要求17所述的系统,其特征在于其进一步包括一个输入监视元件,在脚本执行过程中监视收到的操作者输入。
20.如权利要求19所述的系统,其特征在于其进一步包括一个正确指示元件,在脚本执行过程中根据收到的不正确的操作者输入,向操作者提供正确的指示。
21.如权利要求17所述的系统,其特征在于其进一步包括一个记录元件,其中当该记录元件被激活时,该脚本设计元件通过记录脚本步骤的执行来设计该脚本。
22.如权利要求17所述的系统,其特征在于该脚本执行元件是在桌上型电脑上执行。
23.如权利要求17所述的系统,其特征在于该脚本执行元件是在无线电话上执行。
24.如权利要求17所述的系统,其特征在于该脚本执行元件是在个人数字助理上执行。
25.一种指导操作者怎样在电脑程序内执行任务的方法,该电脑程序具有至少一个图形用户界面对象执行所需的动作以对应用户输入,其特征在于该方法包括通过参考一个实体映图设计一个脚本,该脚本包括显示给该电脑程序的操作者怎样执行该任务的一步一步的指示,其中该实体映图包括数个编程指令以访问该电脑程序的至少一个图形用户界面对象;以及通过下面的步骤执行脚本在电脑程序的实际并非模拟的图形用户界面上显示至少一个部分覆盖图层,每一部分覆盖图层在视觉上显示输入,该输入是将要提供给相关图形用户界面对象以使该电脑程序执行该任务的一个步骤;以及不管有无任何该电脑程序源代码的变动影响该图形用户界面对象的位置,都将该部分覆盖图层设置在靠近该相关图形用户界面对象的位置。
26.如权利要求25所述的方法,其特征在于执行该脚本包括动态参考该实体映图.
27.如权利要求26所述的方法,其特征在于其进一步包括一个新版本的实体映图是为新版本的电脑程序所创建的,其中执行脚本包括参考该实体映图的新版本并与该新版本的电脑程序一起正确执行。
全文摘要
本发明揭示一种指导操作者怎样执行一个具有至少一个图形用户界面对象的电脑程序里的任务的系统和方法。通过与该电脑程序的至少一个图形用户界面对象互动,设计出一个包含一步一步指示指导操作者怎样执行该电脑程序内的任务的脚本。通过参考一个实体映图来设计该脚本,该实体映图包括数个编程指令以访问该程序的至少一个图形用户界面对象来执行该任务的一个步骤。通过显示一个部分覆盖图层位在该程序的实际非模拟图形用户界面上来执行该脚本。每一部分覆盖图层指示操作者怎样向电脑程序的图形用户界面提供相关的用户输入。不管该下层电脑程序是否有任何程序变动影响该对象的位置,该部分覆盖图层都被设置在靠近该程序的相关图形用户界面对象的位置。
文档编号G06F17/00GK101091148SQ200580030093
公开日2007年12月19日 申请日期2005年9月7日 优先权日2004年9月8日
发明者大卫·L·爱德肯, 马克·R·爱德肯, 杰弗瑞·W·爱尔顿 申请人:超越记录股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1