2015-09-30 4 views
6
string machineName = System.Environment.MachineName; 

Dieser Code nicht für mich arbeiten, Fehlercode ‚Umwelt‘ enthält keine Definition für ‚Computernamen‘Wie lokalen Host-Namen auf einem Universal-App 10 Fenster in C# erhält

Ich bin Verwenden von Visual Studio 2015 und Universal App mit C#

Bitte listen Sie auch den Namespace auf, den ich verwenden muss, wenn Sie eine Antwort posten.

+1

nur raten - https://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.connectivity.networkinformation. gethostnames.aspx? – quetzalcoatl

+0

Das scheint nicht zu funktionieren. Kann diese Funktion nicht finden, auch wenn ich den Namespace Windows.Networking.Connectivity verwende – Jerry

Antwort

13

Sie müssen NetworkInformation.GetHostNames verwenden.

var hostNames = Windows.Networking.Connectivity.NetworkInformation.GetHostNames(); 

Aber beachten Sie, dass diese Methode mehrere HostName s zurück.

In meinem Fall gibt es vier HostName s von denen DisplayName s sind Meincomputername, MyComputerName.local plus zwei IP-Adressen. So

Ich denke, es wahrscheinlich sicher zu tun -

using Windows.Networking; 
using Windows.Networking.Connectivity; 


var hostNames = NetworkInformation.GetHostNames(); 
var hostName = hostNames.FirstOrDefault(name => name.Type == HostNameType.DomainName)?.DisplayName ?? "???"; 
+1

Danke, es funktioniert. – Jerry

Verwandte Themen