Seamless Exception Registry Flags

Citrix states in their article: CTX101644

CTX101644 - Seamless Exception Registry Flags

This document was published at: http://support.citrix.com/kb/entry.jspa?externalID=CTX101644

Document ID: CTX101644, Created on: Mar 17, 2003, Updated: Sep 8, 2003

Products: Citrix MetaFrame XP 1.0 for Microsoft Windows 2000

Symptoms

This document outlines the currently available Server Seamless Engine Exception Registry Flags that can be used to control specific behavior of an Application's Windows when run in an ICA Seamless Session. There are 2 sections, Global and per Specified Window. The contents of this document are subject to change at any time.

Global Registry Flags

NOTE: These values affect all Seamless connections to a Server and require changing the value of only one specific Registry key. If more than one of these flags are needed, then add them together as follows.

For example to use Flags 1 and 8 below, the value for SeamlessFlags would be 0x1 + 0x200 = 0x201.

Or if you wanted to use Flags 1, 8 and 9 then the value for SeamlessFlags would be 0x1+0x200+0x400 = 0x601.

Registry Key: HKLM/System/CurrentControlSet/Control/Citrix/wfshell/TWI

Value Name: SeamlessFlags

Value Type: REG_DWORD

Values: See 1 through 11 Below

1. DISABLE SESSION SHARING

Value: 0x1

Explanation: Determines if each Seamless connection to the server uses Session Sharing. Use this Flag to Disable Session Sharing. Without this Registry Value set, or setting this value to 0x0 enables Session Sharing.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

2. DISABLE MODALITY CHECK

Value: 0x2

Explanation: Specifies that the ICA client will not perform a Modality check. The owner window of a Modal Dialog can be moved, although input focus will remain on the Modal Dialog. This is useful when running an application such as PaintShop Pro Ver 6 in a Seamless session. Without this Registry Value set, or setting this value to 0x0 specifies that the ICA client will perform a Modality check on Seamless windows.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

3. DISABLE ACTIVE ACCESSIBILITY HOOK

Value: 0x4

Explanation: Determines if the Seamless Engine will load its Active Accessibility hook in a Seamless session. By default the Seamless Engine uses a technique called event hooking to monitor any changes made to an application�s windows on the server and sends these changes to the ICA Client. Wfshell.exe loads the DLL, sehook20.dll. Without this Registry Value set, or setting this value to 0x0 specifies that Active Accessibility is enabled.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

4. SUPPORT ZERO SIZED WINDOWS

Value: 0x8

Explanation: Specifies that any applications that create zero-sized windows will be reported to the ICA client and will be re-created as zero-sized windows on the client. Some applications use zero-sized windows to enforce windows modality relationships. Without this Registry Value set, or setting this value to 0x0 specifies that zero-sized windows will not be reported or created on the client.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

5. ENABLE COLOR SYNC

Value: 0x10

Explanation: Specifies that the Seamless session will inherit the client system color settings. This may cause problems with some applications when the color scheme used on the client is not fully supported by the server. Without this Registry Value set, or setting this value to 0x0 specifies that the Seamless session will not inherit the client system color settings.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

6. DISABLE SYSTRAY AGENT

Value: 0x20

Explanation: Specifies that the System Tray agent in a Seamless session will not be created. The System Tray agent allows an application that uses the System Tray, using the Shell_NotifyIcon API, to be sent to the ICA client�s System Tray. Without this Registry Value set, or setting this value to 0x0 specifies that System Tray agent in a Seamless session will be created.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

7. DISABLE ICONIC WINDOWS

Value: 0x80

Explanation: Specifies that iconic windows will not be sent to the ICA client. This may improve performance slightly, however setting it can cause problems with applications such as MS Office when run in a Seamless session. For example, the application�s icon may not be visible when it is minimized on the local Client Taskbar. Without this Registry Value set, or setting this value to 0x0, specifies that iconic windows are sent to the ICA client.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

8. DISABLE WM_QUERYDRAGICON MESSAGES

Value: 0x200

Explanation: Specifies that the Seamless engine will not send WM_QUERYDRAGICON messages to application windows to obtain the Icons associated with them. Without this Registry Value set, or setting this value to 0x0, the Seamless engine will send these messages to application windows to get the Icons associated with them.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

9. FORCE RAW MOUSE EVENTS TO SERVER

Value: 0x400

Explanation: Specifies that the ICA client will send raw mouse event messages to the server. This is useful, when running an application developed using the Borland IDE, which allows the creation of dialog boxes that behave like a modal dialog box, but its parent window still responds to certain types of window messages, like WM_SETFOCUS. Without this Registry Value set, or setting this value to 0x0, specifies that the ICA client will send regular translated mouse event messages to the server.

Required: ICA Win32 Client version 6.31 or later - MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

10. DISABLE FULL WINDOW DRAG

Value: 0x800

Explanation: Specifies that the Windows feature "Full Window Drag" can be disabled. This may be necessary for some non-standard applications. Without this Registry Value set, or setting this value to 0x0 specifies this Windows feature is enabled.

Required: MF XP SP3

11. FORCE MENU WINDOW TO HAVE OWNER

Value: 0x1000

Explanation: Specifies that Menu Windows will always be re-created on the ICA client with an owner
window.

Required: International versions of MF XP SP3, Post MF XP SP3 English Hotfix XE103W011 or later.

Registry Flags Per Specified Window

These Flags are used to single out a specific Window of an Application that may need to be handled differently by the Seamless Engine. To determine the Class Name of a Window, use SPY ++ from Microsoft Visual Studio or a Third Party Tool.

Specifying a Seamless exception flag for a specific application window consists of creating a registry key that is the same name as the Window Class Name and adding 2 Value Names, Type and ClassName, each with their own value.

Registry Key: HKLM/System/CurrentControlSet/Control/Citrix/wfshell/TWI/

Value Name1: ClassName

Value Type1: REG_SZ

Value1:

Value Name1: Type

Value Type2: REG_DWORD

Value2: See 1 through 6 Below

Steps to Add Per Specified Window Exception Flags:

a) Run Regedit

b) Go to HKLM/System/CurrentControlSet/Control/Citrix/wfshell/TWI

c) Highlight the TWI Key, then from the Edit Menu select New, then Key.

d) Enter, for the Key Name.

e) Highlight the newly created Subkey.

f) From the Edit Menu, select New, then String Value.

g) Enter, ClassName for the Value Name.

h) Double-click on the Value Name, Enter the for the Value data.

i) Highlight the in the left pane.

j) From the Edit Menu select New, then DWORD value.

k) Enter, Type for the Value Name.

l) Double-click on the Value Name, Enter the < Hex number for the Exception Flag > for the Value data.

Adding Multiple Window Class Names under one Registry Setting

See Citrix KB Article, Seamless: Adding Multiple Window Class Names under one Registry Setting

Creating a .Reg File

If a registry Flag needs to be created on many Servers, then it might be worthwhile to create it first on one server, then export the registry key as a .Reg file which can then be easily executed on the other servers. To export a .Reg file, Select Export from the Regedit File menu.

Specifying more than one Exception Flag for a window.

If more than one of these flags are needed for a specific window, then add them together as follows.

For example to use Flags 1 and 2 below, add 0x8 + 0x10 = 0x18

1. WINDOW ALWAYS VISIBLE

Value: 0x8

Explanation: For performance reasons, invisible windows that are created are not re-created on the ICA client. Setting this flag for a specified window enables it to be re-created on the ICA client.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

2. WINDOW SIZE AND LOCATION NOT CHECKED

Value: 0x10

Explanation: For performance reasons, windows that are created with a Zero window size or created outside of the Desktop area, are not re-created on the ICA client. Setting this flag for such a specified window enables it to be re-created on the ICA client.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

3. USE OWNER WINDOW INSTEAD OF PARENT

Value: 0x20

Explanation: Enabling this flag specifies that the Owner window of the window specified will be determined by using the GW_OWNER parameter instead of the GWL_HWNDPARENT parameter. This may be necessary if some application windows do not use the same window as both the Parent and Owner window.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

4. USE GETPARENT API

Value: 0x40

Explanation: Setting this value to a window enables the Seamless engine to use the GetParent API to get the Owner of the specified window.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

5. SET AS INDEPENDENT WINDOW

Value: 0x80

Explanation: Setting this value to a window enables the Seamless engine to send the specified window as an independent window (no parent, no owner).

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

6. SEND NO ICON CHANGES

Value: 0x100

Explanation: Setting this value to a window enables the Seamless engine not to send WM_GETICON or WM_QUERYDRAGICON messages to the specified window. This may cause some applications to have a generic Icon displayed on the Local ICA client Taskbar instead of its own.

Required: MF 1.8 SP4 for TSE - MF 1.8 SP4 for Win2K - MF XP 1.0 SP3 for Win2k - MF XP 1.0 SP2 for TSE.

7. DO NOT REQUEST SMALL ICON

Value: 0x200

Explanation: Setting this value to a window, will direct the Server Seamless Engine to not request the small Icon associated with that window. This may be needed for application windows that alternate between different Icons while running that are not displaying the different Icons when run Seamlessly.

Adding Global Seamless Exception Flags Graphic

Adding Specific Window Seamless Exception Flags Graphic.



Primary links

Custom Search

Who's new

  • japhabept
  • Rullydery
  • eagenorce
  • rittaarier
  • swasseZex

Who's online

There are currently 0 users and 3 guests online.

KrissysCorner.com RuthSwensonLaw.com CreativeLizardProductions.com

DISCLAIMER:

None of this has anything to do with us, someone else is responsible for the entire thing, and we have no idea who or why. We do not know anything about it. It may be alien life forms for all we know: we haven't a clue. You cannot blame us for anything that may result from your visit. That was entirely your own personal choice, made by you of your own volition, and without our knowledge. We do not, after all, have any control over you and cannot by any stretch of the imagination be expected to accept or acknowledge, be it legally or morally, any accountability for decisions made by you on an independent basis, utilizing your own free will, and without our intervention. We are therefore in no way, shape, or form answerable to anyone for any consequences arising from the aforementioned or indeed any other actions, similar or otherwise, because it was not us that did, or did not do anything. It is not even remotely our fault, and we are in no way prepared or willing to accept any liability, not even slightly, ever. We are, in fact completely and utterly blameless, in that it is definitely not our concern, and no blame can possibly be laid at our doorstep, even if we had one, the possession of which we hereby reserve as being entirely our own free choice. The onus is not on us at all, and furthermore, never has been. The entire matter is wholly beyond our control, and completely out of our hands, each of which are washed scrupulously clean of the whole business. We are not accountable for anything at all, and we hereby categorically deny all responsibility for all that has ever, or will ever happen. Our innocence is therefore wholly beyond doubt and absolutely unimpeachable, and so cannot, under even the remotest or unlikeliest circumstances, be brought into question. By clicking either on a link on this site, clicking on a link that leads to this site, or by arriving at this site by natural or supernatural means, you are in effect accepting responsibility for the fact that it is all entirely your own fault, down to the most miniscule detail, and that you are wholly accountable for whatever outcome may arise as a consequence of the aforementioned action or actions insofar as they were undertaken personally by you on an entirely voluntary basis and without any persuasion, coercion or influence from any party or parties other than yourself. Don't come sniveling to us, we are only figments of your imagination. I also agree that if I am ever with a contributor to this website during mealtimes I agree to pay for any super-sizing of their meal, or at least a nice dessert or one of those foo-foo drinks with an umbrella or a monkey. By admitting to have seen the worthless spineless drivel on this website (also known as content)

I Agree Wholeheartedly and Without Reservation to the above. (Except maybe for that part about the monkey.)

All Your Base Are Belong To Us.

Soylent Green Is People!

Never make a bet with a Sicilian when Death is on the Line!

No. Really, I do agree.