我想确定我们的应用程序是否在 XenDesktop 会话上运行,而不是在本地运行。这是我迄今为止发现的:
我们目前有代码来检测 Citrix XenApp 会话,类似于 Helge Klein 在“用于确定应用程序是否在 Citrix 或终端服务上运行的 API ”中提到的解决方案。
可悲的是在XenDesktop环境的解决方案正在恢复回来WTSClientProtocolType的0这标志着本地控制台会话。
在回答同样的问题时,Josh Weatherly 提到检查 sessionname 环境变量。
但是,echo %sessionname%在 XenDesktop 环境中进行快速控制台检查会返回“控制台”。
从“检测 citrix“应用程序模式”? ”约翰西伯里提出了一种检测远程会话的解决方案(特别是不是 Citrix):
GetSystemMetrics(SM_REMOTESESSION) 然而返回 0 这也意味着它是一个本地会话。
有谁知道检测它是 XenDesktop 会话的方法吗?就您所见,我所有的尝试都返回会话是本地控制台会话。
我正在使用 XenDesktop Express 5.5,使用 Citrix Receiver Web 插件访问桌面。