当前位置: 首页 > 专利查询>微软公司专利>正文

隔离、管理用户界面元素以及与之通信制造技术

技术编号:4507562 阅读:267 留言:0更新日期:2012-04-11 18:40
公开了允许托管运行时环境中的用户界面显示来自两个或更多不同分区进程空间的内容的各种技术和方法。具有用户界面的软件应用程序在托管运行时环境中操作。窗口句柄允许应用程序的用户界面同时显示来自不同分区进程空间的内容。在保持分区进程空间之间的隔离级别的同时,可以将来自分区进程空间的信息集成在该用户界面中。这可以通过向用户界面的内容容器的第一部分提供主控件来实现,该主控件包含窗口句柄并驻留在主窗口的第一分区进程空间中。向内容容器的第二部分提供源控件,该源控件提供该窗口句柄并驻留在主窗口的第二分区进程空间中。

【技术实现步骤摘要】
【国外来华专利技术】隔离、管理用户界面元素以及与之通信北旦 冃足在现代软件开发中,编写了许多应用程序来在例如MICROSOFT .NET框架等托管运行时环境中执行。托管运行时环境用作允许应用程序访问系统资 源、实施安全策略等等的方式。托管运行时环境通过创建其中执行应用程序的"分区进程空间"来实现这一点。分区进程空间允许应用程序以使该应用程序 与在那时计算机可能正在执行的进程中的任何其它分区空间隔离的方式来执 行。在MICROSOFT .NET框架中,这些分区进程空间称为"应用程序域(AppDomain)"。当在一个分区进程空间中执行应用程序而需要在另一个分区进程空间中 执行内容时,问题产生。给定隔离和其它支配早先讨论的托管运行时环境的规 则,该应用程序将不能与不同分区进程空间中的内容通信,内容也将不能作为 该应用程序的一部分被显示。概述公开了允许托管运行时环境中的用户界面显示来自两个或更多不同分 区进程空间的内容的各种技术和方法。提供在托管运行时环境中操作的特定 软件应用程序,该特定软件应用程序具有用户界面。使用窗口句柄来允许该特 定软件应用程序的用户界面同时显示来自两个或更多不同分区进程空间的内 容。在保持两个或更多不同分区进程空间之间的隔离级别的同时,可以将来自 两个或更多分区进程空间的信息集成在该软件应用程序的用户界面中。这可以 通过向用户界面的内容容器的第一部分提供主控件来实现,该主控件将包含提 供的窗口作为子窗口并驻留在主窗口的第一分区进程空间中。向用户界面的内 容容器的第二部分提供源控件,该源控件提供窗口句柄并驻留在主窗口的第二 分区进程空间中。在一个实现中,内容容器的第二部分可以具有供例如在隔离 框架控件中显示的内容。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些 概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在 用于帮助确定所要求保护的主题的范围。附图简述附图说明图1是一个实现的计算机系统的图示。图2是在图1的计算机系统上操作的一个实现的托管软件应用程序的图示。图3是示出图1的系统的一个实现所涉及的高级阶段的处理流程图。 图4是图1的系统的一个实现的处理流程图,其示出允许来自不同分区进程空间的内容被一起显示并互相通信时所涉及的阶段。图5是图1的系统的高级阶段的一个实现的处理流程图,其示出允许来自不同分区进程空间的内容以不同安全级别一起显示时所涉及的阶段。图6示出显示隔离框架控件中出现的外部内容的一个实现的逻辑图。图7是示出使用窗口句柄来允许在相同用户界面中显示来自不同分区进程空间的内容的一个实现的逻辑图。详细描述为促进对本专利技术的原理的理解,现将对图中所示的各实施例加以参考,同 时也将用具体语言描述它们。不过,需要理解的是,并无意由此作出范围上的 限制。对所述实施例的任何改变和进一步更改,以及在此所述的原理的进一步 应用都可以预期将是本领域技术人员通常能想到的。该系统可以作为允许在托管环境中在同一用户界面中显示来自不同分区 进程空间的内容的应用程序而在一般上下文中描述,但是该系统还用于除此 之外的其它目的。在一个实现中,此处所描述的一个或多个技术可被实现为 诸如MICROSOFT .NET框架等框架环境内的、或来自允许软件的执行和/或 开发的任何其它类型的程序或服务的特征。如图1所示,用于实现该系统的一个或多个部分的示例性计算机系统包括 诸如计算设备100等计算设备。在其最基本的配置中,计算设备100通常包括200880007313.2储器104。取决于计算设备的确切配置和类型,存储器104可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该最基本配置在图1中由虚线106来示出。另外,设备100还可具有附加特征/功能。例如,设备IOO还可包含附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这样的附加存储在图1中由可移动存储108和不可移动存储IIO示出。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储所需信息并且可由设备100访问的任何其它介质。任何这样的计算机存储介质都可以是设备100的一部分。计算设备100包括允许计算设备100与其它计算机/应用程序114进行通信的一个或多个通信连接115。设备100还可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备112。还可以包括诸如显示器、扬声器、打印机等输出设备lll。这些设备在本领域中公知且无需在此处详细讨论。在一实现中,计算设备100包括托管软件应用程序200。托管软件应用程序200将在图2中更详细地描述。现在转向图2,并继续参考图l,示出了在计算设备100上操作的托管软件应用程序200。托管软件应用程序200是驻留在计算设备100上的应用程序之一。然而,可以理解,托管软件应用程序200可另选地或另外地被具体化为一个或多个计算机上的计算机可执行指令和/或与图1所示的不同的变型。另选地或另外地,托管软件应用程序200的一个或多个部分可以是系统存储器104的一部分、可以在其它计算机和/或应用程序115上、或可以是计算机软件领域的技术人员能想到的其它此类变型。托管软件应用程序200包括程序逻辑204,其负责执行在此描述的一些或全部技术。程序逻辑204包括用于提供在托管运行时环境(.NET框架等)中操作并具有用户界面的特定软件应用程序的逻辑206;用于使用窗口句柄(例如,MICROSOFT Windows HWND句柄)来允许特定软件应用程序的用户界面同时显示来自两个或更多不同分区进程空间(例如,应用程序域)的内容的逻辑208;用于允许在保持两个或更多不同分区进程空间之间的隔离级别的同时将来自两个或更多分区进程空间的信息集成在于托管运行时环境中操作的软件应用程序的用户界面中的逻辑210;用于允许分区进程空间中的第一个通过执行按引用进程的编组(windows操作系统中的Marsha旧yRefObjects (按引用对象编组))来与分区进程空间中的第二个进行通信的逻辑212;用于允许分区进程空间中的第一个拥有内容容器的具有包含提供的窗口句柄的主控件的第一部分,而分区进程空间中的第二个拥有内容容器的具有提供窗口句柄的源控件的第二部分的逻辑214;用于允许内容容器的第一部分所遵循的第一安全级别与内容容器的第二部分(例如,该第二部分来自可信或不同的源等等)所遵循的第二安全级别不同的逻辑216;以及其它用于操作该应用程序的逻辑220。在一个实现中,程序逻辑204可用于通过编程,如使用对程序逻辑204中的过程的单一调用而从另一程序调用。现在转向图3-5,并继续参考图1-2,更详细地描述了用于实现托管软件应用程序200的一个或多个实现的各阶段。图3是示出图1的系统的一个实现所涉及的高级阶段的处理流程图。在一种本文档来自技高网...

【技术保护点】
一种具有用于使得计算机执行以下步骤的计算机可执行指令的计算机可读介质,所述步骤包括: 提供在托管运行时环境中操作的特定软件应用程序,所述特定软件应用程序具有用户界面; 使用窗口句柄来允许所述特定软件应用程序的用户界面同时显示来自 两个或更多不同分区进程空间的内容;以及 在保持所述两个或更多不同分区进程空间之间的隔离级别的同时,允许将来自所述两个或更多分区进程空间的信息集成在操作于所述托管运行时环境中的软件应用程序的用户界面中。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:L拉沃DP雷里亚AS谢蒂Z魏秉
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1