Reflection will intermittently steal the foreground execution away from other applications at load time

  • 7024222
  • 29-Oct-2019
  • 31-Oct-2019

Environment

Reflection Desktop (including Pro, for X, for IBM, or for UNIX and OpenVMS) 16.0 or higher

Situation

Reflection Desktop, while loading a host session, will intermittently steal the foreground execution away from other Windows applications.  This typically happens when the Reflection host session takes a long time to load and connect, and the user has switched to another Microsoft Windows application to perform other work.  The Windows desktop focus will sometimes be switched from the current Windows application back to the Reflection host session as the host connection process completes.  This unexpected swtich back to Reflection can disrupt the user's current activities in the other Windows application.

Resolution

The value for "ForegroundLockTimeout" was set to 0 (zero) on the Windows system instead of the default value of 20000 which is 20 seconds.  

The following Microsoft article documents the setting of "ForegroundLockTimeout":
        https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc957208(v%3dtechnet.10)
After changing the setting, a reboot of the PC is required.

In this situation the setting of zero means the application will take the foreground immediately on load.  Each Reflection Desktop session loads a copy of the R8WIN.EXE / R2WIN.EXE / etc. as a Windows Process in memory, and it appears that this module load causes each Reflection Host session to grab focus as it finishes the connection process.  Setting the "ForegroundLockTimeout" to 20000 resolves this issue.