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

84

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


重复的问题[链接](https://dev59.com/O3RB5IYBdhLWcg3w77sn) - Malachi
可能是如何在.NET中获取计算机名称的重复问题。 - Michael Freidgeim
5个回答

165

抱歉 :) 这些小问题有点像火鸡射击游戏。我想在我发布之前会有4个答案。 - annakata
只是一个提醒,在 Android 上的 .NET Standard 中,这似乎会返回“localhost”。 - apc

54

48

21
如果您想要本地计算机的FQDN(完全限定域名),可以使用以下代码: System.Net.Dns.GetHostEntry("localhost").HostName 其他方法只会返回本地名称,没有任何特定于域的信息。例如,对于计算机myComp.myDomain.com ,先前的方法将返回myComp,而GetHostEntry方法将返回myComp.myDomain.com

在计算机设置中,有一个计算机名称和完整计算机名称的部分 - 这是我发现的唯一获取完整计算机名称的方法,而其他人只提供计算机名称。谢谢! - user2465164
1
哦,对我来说只是给了“localhost”,而不是“FQDN”。 - Thufir
不需要使用“localhost”,您可以提供一个空字符串:Dns.GetHostEntry("").HostName - Metro Smurf

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();

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