[英]How do I get the local machine name in C#?
如何獲取本地機器名稱?
除非機器名稱超過 15 個字符,否則它會起作用。
從源頭
獲取 local.network/machine 名稱的四種方法:
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.