2009-03-19 8 views
64

Làm cách nào để lấy tên máy cục bộ?Làm cách nào để lấy tên máy cục bộ trong C#?

+0

Duplicate Câu hỏi [link] (http://stackoverflow.com/questions/459034/get-computer-name-from -within-a-windows-service) – Malachi

+0

Bản sao có thể có của [Làm cách nào để có tên máy tính trong .NET] (http://stackoverflow.com/questions/1768198/how-do-i-get-the-computer- tên trong mạng) –

Trả lời

125
+4

Đánh bại tôi sau 14 giây. –

+0

Xin lỗi :) Những câu hỏi nhỏ này là loại quay gà tây. Tôi giả sử có 4 câu trả lời vào thời điểm tôi đăng. – annakata

+1

Vâng * bây giờ * Tôi cảm thấy tội lỗi về số lượng vô số những kẻ phản bội ... – annakata

44

Bạn sẽ có thể sử dụng System.Environment.MachineName cho việc này. Đây là một tài sản mà trả về một chuỗi chứa tên NetBIOS của máy tính:

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

+0

LOL Tôi đoán tôi không nên dùng thêm vài giây để liên kết bài viết MSDN. – dnewcome

+1

Nhưng đó là một câu trả lời hoàn chỉnh hơn, vì vậy bạn vẫn sẽ đạt được một số upvotes ... –

+0

Không có cảm giác khó 1 - SO chỉ là như vậy – annakata

35

Từ link text

Bốn cách để có được tên mạng/máy tính cục bộ của bạn:

string name = Environment.MachineName; 
string name = System.Net.Dns.GetHostName(); 
string name = System.Windows.Forms.SystemInformation.ComputerName; 
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME"); 

Thông tin thêm tại: Difference between SystemInformation.ComputerName, Environment.MachineName, and Net.Dns.GetHostName

+8

Họ có trở lại cùng một điều hoặc là có một số sự khác biệt giữa tất cả chúng? – epotter

13

Nếu bạn muốn FQDN (tên miền đầy đủ) của máy tính địa phương, bạn có thể sử dụng

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

Các phương pháp khác sẽ chỉ trả lại tên địa phương, mà không cần bất kỳ thông tin tên miền cụ thể. Ví dụ, đối với các máy tính myComp.myDomain.com, các phương pháp trước đó sẽ trở myComp, trong khi các phương pháp GetHostEntry sẽ trở lại myComp.myDomain.com

+0

Trong cài đặt máy tính có một phần cho Tên máy tính và Tên máy tính đầy đủ - đây là cách duy nhất tôi tìm thấy để nhận Tên máy tính đầy đủ khi mọi người khác chỉ cung cấp Tên máy tính. Cảm ơn bạn! – user2494584

+0

hmm, chỉ cần cung cấp 'localhost' cho tôi chứ không phải' FQDN'. – Thufir