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

问题描述 投票:0回答:5

如何获取本地机器名称?

c# hostname
5个回答
168
投票

55
投票

来自 来源

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

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 之间的区别


48
投票

您应该能够使用

System.Environment.MachineName
来实现此目的。 它是一个返回包含计算机的 netBIOS 名称的字符串的属性:

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


21
投票

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

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

其他方法只会返回本地名称,没有任何特定于域的信息。例如,对于计算机

myComp.myDomain.com
,前面的方法将返回
myComp
,而
GetHostEntry
方法将返回
myComp.myDomain.com


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();
© www.soinside.com 2019 - 2024. All rights reserved.