我正在使用C#Framework 4.0 Windows窗体。我的程序安装在服务器TSE上。有11个轻客户端连接到此服务器。
当其中一个客户启动我的程序时,我怎样才能获得他的PC名称?
答案 0 :(得分:5)
假设您正在使用终端服务和远程桌面,您可以检查CLIENTNAME环境变量以检索客户端计算机的名称,尽管有些人报告了它的问题。
您可以使用Environment.GetEnvironmentVariable获取值,例如
var clientName=Environment.GetEnvironmentVariable("CLIENTNAME");
对于基于API的方法,请选中Preferred way Of getting Client name From Terminal Server Session,其中显示了如何使用WMI或终端服务API来检索客户端名称
<强>更新强>
嗯,似乎Cassia库封装了TS API。您可以使用TerminalServicesManager().CurrentSession.ClientName
另一个SO thread显示了如何检索当前会话的客户端名称或所有会话的客户端名称。
答案 1 :(得分:2)
在客户端上,使用:
string machineName = Environment.MachineName;
答案 2 :(得分:1)
string ComputerName1 = Dns.GetHostName();//Server Name
string ComputerName2 = Environment.MachineName;//Server Name
答案 3 :(得分:0)
如果您使用的是.NET,则可以使用以下代码:
Dim PcName As String = Environment.UserName
然后只需在要显示的任何地方调用PcName
。
好运:)