如何使用C#或VB.NET获取当前本地主机名?

Beg*_*Pal 45 c# vb.net winforms

我需要获取当前运行该应用程序的主机名.任何的想法?

djd*_*d87 68

事情要牢记的是,System.Environment.MachineName;System.Windows.Forms.SystemInformation.ComputerName;给你的机器(仅限于15个字符)的NetBIOS名称.

如果您想要完整的基于TCP/IP的主机名,您可以使用Dns.GetHostName():

string hostName = System.Net.Dns.GetHostName();
Run Code Online (Sandbox Code Playgroud)

或者您可以使用:

System.Environment.GetEnvironmentVariable("COMPUTERNAME");
Run Code Online (Sandbox Code Playgroud)

这将返回安装期间设置的完整计算机名称.

  • 好吧,文档对它的实现方式有点模糊,但暗示它需要a)有效的网络连接,b)到DNS服务器的往返,以及c)DNS实际上知道你的机器名称(它不必,除非你的服务器) (3认同)
  • `System.Environment.GetEnvironmentVariable("COMPUTERNAME");`仅限Windows (3认同)

Wil*_*Wil 27

除非我误解你想做什么..

System.Environment.MachineName
Run Code Online (Sandbox Code Playgroud)


Dyn*_*mic 5

要获得完全合格的名称,请使用:

 System.Net.Dns.GetHostEntry("").HostName
Run Code Online (Sandbox Code Playgroud)