We host our applications on terminal server and implement a customized html
page that uses the MSRDP ActiveX control. The problem that we have is with
clients complaining that when they open another link on their workstation,
the IE window with our TS session surrenders control and allows navigation
I know the recommended solution is to uncheck the "reuse windows for
launching shortcuts" or the similar settings for tabbed browsers. The
problems with this is at some larger clients their domain Group Policies
restore the settings so the clients have to repeat it every day and sometimes
multiple times throughout the day.
We looked into handling the "OnBeforeUnload()" event in the browser side
script but that presented a problem of a different sorts. In the tabbed
browser scenario, IE would display the confirmation popup in the tab that was
chosen for reuse. This tab was not always the tab that had focus so
essentially, to the client they saw nothing and it appeared that IE froze. Also since our app is used by clients in a data entry scenario, they may not even notice right away that a PDF file replaced the application window.
In addition to the MSRDP control downloaded from the server, we also us a
downloaded ActiveX that enables Virtual private channels for our application,
it’s been around since W2K Terminal Server. We have begun opening our window
in IE with nothing but a Caption bar and the system menu enabled. This helped
a little and gives us more screen real estate.
My question is this, "How does IE determine which window is resused?" Since
we have the client side ActiveX registered, we have access to the full
Windows API, I just need to know how I can "hide" my window from the IE
algorithm that selects it for reuse that will work on IE6 and above.