如何获取本地机器名称?
它可以工作,除非机器名称超过 15 个字符。
来自 来源
获取本地网络/机器名称的四种方法:
string name = Environment.MachineName;
string name = System.Net.Dns.GetHostName();
string name = System.Windows.Forms.SystemInformation.ComputerName;
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
更多信息请访问: SystemInformation.ComputerName、Environment.MachineName 和 Net.Dns.GetHostName 之间的区别
您应该能够使用
System.Environment.MachineName
来实现此目的。 它是一个返回包含计算机的 netBIOS 名称的字符串的属性:
http://msdn.microsoft.com/en-us/library/system.environment.machinename.aspx
如果您想要本地计算机的FQDN(完全限定域名),可以使用
System.Net.Dns.GetHostEntry("localhost").HostName
其他方法只会返回本地名称,没有任何特定于域的信息。例如,对于计算机
myComp.myDomain.com
,前面的方法将返回myComp
,而GetHostEntry
方法将返回myComp.myDomain.com
我的计算机名称超过15个字符,所以我使用hostname.exe来获取全长名称:
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.FileName = "c:/windows/system32/hostname.exe";
proc.Start();
var hostName = proc.StandardOutput.ReadLine();