如何在C#中获取本地计算机名称?

时间:2009-03-19 13:54:21

标签: c# dns hostname

如何获取本地计算机名称?

5 个答案:

答案 0 :(得分:144)

答案 1 :(得分:47)

您应该可以使用System.Environment.MachineName。它是一个返回包含计算机netBIOS名称的字符串的属性:

http://msdn.microsoft.com/en-us/library/system.environment.machinename.aspx

答案 2 :(得分:40)

link text

获取本地网络/计算机名称的四种方法:

string name = Environment.MachineName;
string name = System.Net.Dns.GetHostName();
string name = System.Windows.Forms.SystemInformation.ComputerName;
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME");

更多信息: Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName

答案 3 :(得分:17)

如果您需要本地计算机的FQDN(完全限定域名),可以使用

System.Net.Dns.GetHostEntry("localhost").HostName

其他方法只返回本地名称,没有任何特定于域的信息。例如,对于计算机myComp.myDomain.com,先前的方法将返回myComp,而GetHostEntry方法将返回myComp.myDomain.com

答案 4 :(得分:0)

我的计算机名称超过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();