在.NET中通过Citrix会话获取本地计算机名称

9

我需要获取通过Citrix会话运行我们软件应用程序的桌面计算机的本地计算机名称。当我查询My.Computer.Name时,我得到的是服务器的名称。

我该如何获取会话实际运行的物理计算机的名称?是否有一个事件可以监视,当有人从一个计算机切换会话到另一个计算机时,可以触发该事件?


我没有准备好Citrix服务器,但是如果我没记错的话,服务器环境中应该有一个变量。 - Kobi
1个回答

13

如Kobi在上面建议的那样,找到了一个服务器变量:

%CLIENTNAME%

只有在终端服务或Citrix中才会填充它,在本地计算机上展开它将返回%CLIENTNAME%。 然而,在Citrix或RDP服务器上,它可以正常工作。 我使用的.NET代码是:

TSHostName = Environment.ExpandEnvironmentVariables("%CLIENTNAME%")


好的,至少你拼对了名字 :)。顺便说一下,你可以通过点击旁边的勾号来接受自己的答案。 - Kobi
抱歉,伙计。已经解决了!我是 Stack Overflow 的新手,感谢你的帮助。 - Molloch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接