簡體   English   中英

如何獲取C#中的本地機器名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM