虚拟化窗口信息的方法和设备技术

技术编号:2837115 阅读:219 留言:0更新日期:2012-04-11 18:40
一种用于对窗口访问虚拟化的方法和设备包括挂钩机制、窗口名称虚拟化引擎、和操作系统接口。从在用户帐号的上下文中执行的进程接收与窗口有关的请求,该请求包括虚拟窗口名称。利用范围特定标识符来确定窗口的真实名称。向操作系统发出包括所确定真实窗口名称的请求。窗口句柄与所确定虚拟窗口名称关联。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及管理计算机的软件应用的执行,并尤其涉及用于降低不同应用程序之间以及由同一计算机系统执行的同一应用的各个用户之间的兼容性和集群度问题的方法和设备。
技术介绍
计算机软件应用程序,在执行和安装期间,利用各种由计算机的操作系统提供的本地资源。在图1A中描述传统的单用户计算机。如图1A所示,由操作系统100提供的本地资源可包括文件系统102、注册表数据库104和对象106。文件系统102为应用程序提供打开、创建、读取、复制、修改和删除数据文件150,152的机制。数据文件150、152可在目录160、162的逻辑层次中被分组在一起。注册表数据库104存储与物理附着到计算机的硬件、已经选择了哪些系统选项、如何安装计算机存储器、应用特定数据的各种项、和什么应用程序在操作系统100启动时应当出现有关的信息。如图1A所示的,注册表数据库104通常组织在“键”170、172的逻辑层次中,所述键是注册表值的容器。操作系统100还可提供多个通信和同步对象106,包括信号灯、段、互斥体、定时器、变异体和管道。通过操作系统100而可用的文件系统102、注册表数据库104、对象106和任何其它本地资源一起在本文献中被称为“系统层”108。由系统层108提供的资源可对于任何应用或系统程序112、114可用。但是,当试图执行或安装两个不兼容的应用程序112、114时出现问题。如图1A所示,两个应用程序APP1 112和APP2 114在操作系统100“之上”执行,即是,应用程序利用由操作系统提供的函数来访问本地资源。当应用程序在执行期间或在安装过程期间以互斥的方式利用本地资源102、104、106时被说成是彼此不兼容的。APP1 112可要求或试图安装由路径名称c\windows\system32\msvcrt.dll定位的文件,而APP2 114可要求或试图安装由相同路径名称定位的第二个不同的文件。在该情况下,APP1 112和APP2 114不能在同一计算机上执行并且被说成是彼此不兼容的。对于其它本地资源可遇到类似问题。这最多给要求在相同操作系统100环境中一起安装或执行APP1 112和APP2 114的计算机用户带来不便。图1B描述的多用户计算机系统,其支持代表若干用户的应用程序112、114、112’、114’并发执行。如图1B所示,APP1 112的第一实例和APP2 114的第一实例在第一用户会话110的上下文中执行,APP1112’的第二实例在第二用户会话120的上下文中执行,并且APP2 114’的第二实例在第三用户会话130的上下文中执行。在该环境下,如果APP1 112、112’两者的实例和APP2 114、114’两者的实例利用本地资源102、104、106就如同只有单个用户执行应用,则出现问题。例如APP1 112可在注册表键170存储应用特定数据。当在第一用户上下文110中执行的APP1 112的第一实例和在第二用户上下文120中执行的APP1 112’的第二实例都试图存储配置数据到相同的注册表键170时,将为用户之一存储错误的配置数据。类似的问题可能对于其它本地资源出现,比如窗口名称和窗口类信息。本专利技术解决了这些应用程序兼容性和集群度问题并且还提供将多个应用与文件类型关联的能力。
技术实现思路
本专利技术允许在单个计算机上安装和执行彼此不兼容的应用程序以及同一应用程序的不兼容版本。此外,其允许在多用户计算机上安装和执行为单用户计算机创建的或在没有考虑当在多用户计算机上执行时会出现问题的情况下创建的程序。所描述的方法和系统可应用于单用户计算环境,其包括多用户一个接一个地使用单个计算机的环境,和多用户计算环境,其中多个用户并发使用单个计算机。本专利技术虚拟化用户和应用对本地资源的访问,比如文件系统、注册表数据库、系统对象、窗口类和窗口名称,而不用修改应用程序或底层的操作系统。此外,虚拟化的本地资源可用本地格式来存储(即,虚拟化的文件存储在文件系统中,虚拟化的注册表条目存储在注册表数据库中,等),从而允许利用标准工具和技术来完成虚拟化资源的查看和管理。在一个方面,本专利技术涉及用于虚拟化对窗口访问的方法。从在用户帐号的上下文中执行的进程接收与窗口有关的请求,该请求包括虚拟窗口名称。利用范围特定标识符来确定窗口的真实名称。向操作系统发出包括所确定真实窗口名称的请求。窗口句柄与所确定虚拟窗口名称关联。在一个实施例中,从在用户帐号的上下文中执行的进程截取与窗口有关的请求。在另一个实施例中,与包括在请求中的虚拟窗口名称关联的规则被确定并用于确定该窗口的真实名称。在一些实施例中,虚拟窗口名称存储在与窗口句柄关联的映射表中。在另一方面,本专利技术涉及用于虚拟化对窗口访问的方法。接收识别虚拟窗口名和虚拟窗口类标识符之一的请求,该请求从在用户帐号的上下文中执行的进程接收且包括窗口句柄。确定窗口句柄与所请求的虚拟窗口名和虚拟窗口类标识符之一相关联。所确定的窗口信息被返回到请求进程。在一个实施例中,根据映射表来确定与所请求的虚拟窗口名和虚拟窗口类标识符之一相关联的窗口句柄。在另一方面,本专利技术涉及用于虚拟化对窗口访问的设备。挂钩机制从在用户帐号的上下文中执行的进程接收与窗口有关的请求,该请求包括虚拟窗口名和虚拟窗口类标识符之一。窗口名称虚拟化引擎利用在请求中接收的虚拟窗口名和虚拟窗口类标识符之一和范围特定标识符来形成窗口的真实名称和真实窗口类标识符之一。操作系统接口发出与窗口有关的请求,该请求包括窗口的所形成的真实名称和所形成的真实窗口类标识符之一。在一个实施例中,挂钩机制截取从由下列项组成的组中选择的请求寻找窗口、创建窗口、枚举窗口、销毁窗口、设置窗口名称、获取窗口名称、获取与窗口关联的窗口类标识符、注册窗口类、获取与窗口类有关的信息和注销窗口类。在另一个实施例中,映射表存储窗口句柄与虚拟窗口名和虚拟窗口类标识符之一之间的关联关系。在另一方面,本专利技术涉及用于虚拟化对窗口访问的方法。从请求者截取涂色窗口标题栏的请求,标题栏包括窗口名称,该请求包括窗口句柄。确定与窗口句柄关联的虚拟窗口名称。利用虚拟窗口名称涂色窗口的标题栏。向请求者指明标题栏已经被涂色。在又一个方面,本专利技术涉及用于虚拟化对窗口访问的方法。从在用户帐号的上下文中执行的进程接收与窗口类有关的请求,该请求包括虚拟窗口类标识符。利用范围特定的标识符来确定真实窗口类标识符。请求被发给操作系统,该请求包括所确定的真实窗口类标识符。在一个实施例中,与包括在请求中的虚拟窗口类标识符关联的规则被识别并用于响应于所确定的规则来确定真实窗口类标识符。在另一个实施例中,虚拟窗口类标识符存储在与窗口句柄关联的映射表中。在另一个实施例中,虚拟窗口类标识符替换响应中所确定的真实窗口类标识符。在一个方面,本专利技术涉及用于将文件的文件类型与一个或多个程序关联的方法。接收在配置存储器中存储文件类型关联信息的请求。根据该请求来确定要与配置存储器中的文件类型相关联的应用程序。文件类型与选择器工具的关联关系被写入到配置存储器。在另一方面,本专利技术涉及用于调用与文件类型关联的应用程序的方法。选择文件以便调用应用程序。该文件与文件类型关联。响应于选择文件,从配置存储器获得与文件类型关联的对选择器工具的引用。本文档来自技高网
...

【技术保护点】
一种用于虚拟化对窗口访问的方法,该方法包括步骤:从在用户帐号的上下文中执行的进程接收与窗口有关的请求,该请求包括虚拟窗口名称;利用范围特定标识符来确定窗口的真实名称;向操作系统发出包括所确定真实窗口名称的请求;和 将窗口句柄与所确定虚拟窗口名称关联。

【技术特征摘要】
【国外来华专利技术】US 2004-9-30 10/711,737;US 2004-9-30 10/711,736;US1.一种用于虚拟化对窗口访问的方法,该方法包括步骤从在用户帐号的上下文中执行的进程接收与窗口有关的请求,该请求包括虚拟窗口名称;利用范围特定标识符来确定窗口的真实名称;向操作系统发出包括所确定真实窗口名称的请求;和将窗口句柄与所确定虚拟窗口名称关联。2.权利要求1的方法,其中步骤(a)包括步骤从在用户帐号的上下文中执行的进程截取与窗口有关的请求,所述请求包括虚拟窗口名称。3.权利要求1的方法,其中步骤(a)包括步骤从在用户帐号的上下文中执行的进程接收寻找窗口的请求,所述请求包括虚拟窗口名称。4.权利要求1的方法,其中步骤(a)包括步骤从在用户帐号的上下文中执行的进程接收创建窗口的请求,所述请求包括虚拟窗口名称之一。5.权利要求1的方法,其中步骤(b)包括(b-1)确定与包括在请求中的虚拟窗口名称关联的规则;并且(b-2)响应于所确定的规则来确定该窗口的真实名称。6.权利要求1的方法,其中步骤(b)包括利用与应用隔离范围关联的范围特定标识符来确定真实窗口名称,做出请求的进程与所述应用隔离范围相关联。7.权利要求1的方法,其中步骤(d)包括将虚拟窗口名称存储在与窗口句柄关联的映射表中。8.权利要求1的方法,还包括步骤从操作系统接收对所发出的请求的响应。9.权利要求8的方法,还包括步骤用虚拟窗口名称之一替换响应中所确定的真实窗口名称。10.一种用于虚拟化对窗口访问的方法,该方法包括步骤接收识别虚拟窗口名和虚拟窗口类标识符之一的请求,该请求从在用户帐号的上下文中执行的进程接收且包括窗口句柄;确定窗口句柄与所请求的虚拟窗口名和虚拟窗口类标识符之一相关联;和将所确定的窗口信息返回给请求进程。11.权利要求10的方法,其中步骤(b)包括确定窗口句柄与所请求的虚拟窗口名和虚拟窗口类标识符之一之间不存在关联关系。12.权利要求11的方法,还包括步骤根据映射表来确定与所请求的虚拟窗口名和虚拟窗口类标识符之一相关联的窗口句柄。13.权利要求12的方法,还包括步骤向请求进程返回从操作系统接收的响应。14.一种用于虚拟化对窗口访问的设备,包括挂钩机制,从在用户帐号的上下文中执行的进程接收与窗口有关的请求,该请求包括虚拟窗口名和虚拟窗口类标识符之一;窗口名称虚拟化引擎,利用在请求中接收的虚拟窗口名和虚拟窗口类标识符之一和范围特定标识符来形成窗口的真实名称和真实窗口类标识符之一;和操作系统接口,发出与窗口有关的请求,该请求包括窗口的所形成的真实名称和所形成的真实窗口类标识符之一。15.权利要求14的设备,其中挂钩机制截取从由下列项组成的组中选择的请求寻找窗口、创建窗口、枚举窗口、销毁窗口、设置窗口名称、获取窗口名称、获取与窗口关联的窗口类标识符、注册窗口类、获取与窗口类有关的信息和注销窗口类。16.权利要求14的设备,还包括映射表,其存储窗口句柄与虚拟窗口名和虚拟窗口类标识符之一之间的关联关系。17.权利要求16的设备,其中映射表与进程相关联。18.权利要求17的设备,还包括与第二进程关联的第二映射表。19.权利要求15的设备,还包括规则引擎,其包括确定窗口名称虚拟化引擎如何形成窗口的真实名称和窗口的真实窗口类标识符之一的规则。20.一种用于虚拟化对窗口访问的方法,该方法包括步骤从请求者截取涂色窗口标题栏的请求,标题栏包括窗口名称,该请求包括窗口句柄;确定窗口句柄与虚拟窗口名称相关联;利用虚拟窗口名称涂色窗口的标题栏;和对请求者指明标题栏已被涂色。21.一种用于虚拟化对窗口访问的方法,包括步骤从在用户帐号的上下文中执行的进程接收与窗口类有关的请求,该请求包括虚拟窗口类标识符;利用范围特定的标识符来确定真实窗口类标识符;和向操作系统发出包括所确定的真实窗口类标识符的请求。22.权利要求21的方法,其中步骤(a)包括步骤从在用户帐号的上下文中执行的进程截取与窗口类有关的请求,所述请求包括虚拟窗口类标识符。23.权利要求21的方法,其中步骤(a)包括步骤从在用户帐号的上下文中执行的进程接收寻找窗口的请求,所述请求包括虚拟窗口类标识符。24.权利要求21的方法,其中步骤(a)包括步骤从在用户帐号的上下文中执行的进程接收创建窗口的请求,所述请求包括虚拟窗口类标识符。25.权利要求21的方法,其中步骤(b)包括(b-1)确定与包括在请求中的虚拟窗口类标识符关联的规则;并且(b-2)响应于所确定的规则来确定真实窗口类标识符。26.权利要求21的方法,其中步骤(b)包括利用与应用隔离范围关联的范围特定标识符来确定真实窗口类名称,做出请求的进程与所述应用隔离范围相关联。27.权利要求21的方法,其中步骤(d)包括将虚拟窗口类标识符存储在与窗口句柄关联的映射表中。28.权利要求21的方法,还包括步骤从操作系统接收对所发出的请求的响应。29.权利要...

【专利技术属性】
技术研发人员:LG拉波尔茨法尔维A罗伊乔德里AG博尔茨基HC钦RJ马扎费里
申请(专利权)人:茨特里克斯系统公司
类型:发明
国别省市:US[美国]

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

1