我需要获取通过Citrix会话运行我们软件应用程序的桌面计算机的本地计算机名称。当我查询My.Computer.Name
时,我得到的是服务器的名称。
我该如何获取会话实际运行的物理计算机的名称?是否有一个事件可以监视,当有人从一个计算机切换会话到另一个计算机时,可以触发该事件?
如Kobi在上面建议的那样,找到了一个服务器变量:
%CLIENTNAME%
只有在终端服务或Citrix中才会填充它,在本地计算机上展开它将返回%CLIENTNAME%
。 然而,在Citrix或RDP服务器上,它可以正常工作。 我使用的.NET代码是:
TSHostName = Environment.ExpandEnvironmentVariables("%CLIENTNAME%")
:)
。顺便说一下,你可以通过点击旁边的勾号来接受自己的答案。 - Kobi