在使用已发布的应用程序时,您可以使用 Unity 筛选器规则列表代理组策略设置来筛选 Unity 窗口,或将 Unity 窗口映射到特定类型。如果您遇到窗口显示问题(例如窗口中出现黑色背景,或下拉窗口的大小不正确),则此功能非常有用。
Unity 筛选器规则列表组策略设置在 VMware View Agent 配置 ADMX 模板文件 (vdm_agent.admx) 中提供,该文件捆绑在 VMware-Horizon-Extras-Bundle-YYMM-x.x.x-yyyyyyyy.zip 文件中。有关安装说明,请参阅将 ADMX 模板文件添加到 Active Directory。
启用 Unity 筛选器规则列表组策略设置时,需单击显示,并在值文本框中键入一个筛选规则。筛选规则由特性和操作组成。如果指定 map 操作,则还必须包含类型。下表列出了可在筛选规则中使用的特性、操作和类型。
特性 | 操作 | 类型 |
---|---|---|
classname、company、product、major、minor、build、revision、style | block、map | normal、panel、dialog、tooltip、splash、toolbar、dock、desktop、widget、combobox、startscreen、sidepanel、taskbar、metrofullscreen、metrodocked |
窗口类名通常是首选的特性,例如 classname = CustomClassName。要进一步细化对具有相似类名的窗口的筛选,您可以使用 style 特性,以根据 Microsoft 窗口样式应用规则。如果您必须将规则限制到特定产品,则可以提供 company、product、major、minor、build 和 revision 特性。您可以在可执行文件的属性窗口中找到这些特性的值。
以下规则适用于特性值:
- 这些特性(classname 和 style 除外)的值必须精确匹配大小写,包括任何特殊字符。如果提供多个特性,则所有值都必须匹配,才能将规则应用到窗口。
- classname 特性支持正则表达式 (regex) 匹配。
- 除了大小写精确匹配之外,style 特性还支持“|”OR 运算符。
要指定某个操作,需键入 action=value,例如 action=block。block 操作告知 Horizon Agent 不要在客户端上显示窗口。当客户端上的窗口显示过大或干扰正常的窗口焦点行为时,请使用 block 操作。
map 操作(例如 action=map)告知 Horizon Agent 将窗口视为某种经过硬编码的类型。要指定类型,您必须在规则中包含 type=value,例如 type=normal。由于很难确定窗口是否映射到错误的类型,因此,只有在 VMware 技术支持团队指示您将窗口映射到某个类型时,您才需要这样做。
筛选规则示例
以下筛选规则会阻止所有类名为“MyClassName”的窗口。
classname=MyClassName;action=block
以下筛选规则会阻止名为“MyProduct”的产品中的所有窗口。
product=MyProduct;action=block
以下筛选规则会将自定义类映射到组合框类型。
classname=MyClassName;action=map;type=combobox
以下筛选规则使用正则表达式匹配来阻止名称中包含前缀 HwndWrapper 的所有类,例如 HwndWrapper1、HwndWrapper123 和 HwndWrapper[Sod.exe;;1cc83874-f028-4d07-af82-3213d1ce7815。
classname=HwndWrapper.*;action=block
以下筛选规则阻止具有 WS_MINIMIZEBOX 或 WS_MAXIMIZEBOX 样式的所有窗口。
style=WS_MINIMIZEBOX | WS_MAXIMIZEBOX;action=block