Is library running on Citrix or Terminal Server? – Testing on existence/value of environment variable SESSIONNAME – Solution
I had this code lingering, not used recently:
Register DLL (‘user32′,’GetSystemMetrics’,’AJ’) ;; jf – 21 aug 03
— detect if running under Terminal Server
Call DLL (‘user32′,’GetSystemMetrics’,4096) Returns
lbUsingTerminalServices ;; 4096 = SM_REMOTESESSION
May help you… or point you in a different direction…
Based in Chester in the UK.
On 26/01/2018 15:40, bub wrote:
> Hey all,
> I would love to find out if my library is running on Citrix or
> Terminal Server.
> Apparently, the environment variable SESSIONNAME is only defined on
> Citrix or Terminal Server so that would be a way to find it out, even
> more specific
> Citrix client => SESSIONNAME starts with ICA
> Rdp client => SESSIONNAME starts with rdp
> Console session => SESSIONNAME starts with console
> Is there any DLL that can provide the value of an envirnoment variable
> like SESSIONNAME?
> Ok, just did some more effort in scrolling through historic posts and
> found similar construction to get username (which i changed now to
> Register DLL (‘kernel32′,’GetEnvironmentVariableA’,’ICCM’)
> Call DLL
> So solution found, happy to share, might me be interesting for some
> This email has been checked for viruses by Avast antivirus software.
> Manage your list subscriptions at lists.omnis-dev.com
Manage your list subscriptions at lists.omnis-dev.com