我試圖獲取本地網絡的IP地址。爲此,我使用Google搜索並獲取了幾個樣本,但這些類和方法不支持WindowsStore應用程序,下面是我的一個鏈接How do I get the Local Network IP address of a computer programmatically? (C#)如何獲取WindowsStore Apps的本地網絡IP地址
如何在WindowsStore應用程序中執行此操作? 有什麼建議嗎?
我試圖獲取本地網絡的IP地址。爲此,我使用Google搜索並獲取了幾個樣本,但這些類和方法不支持WindowsStore應用程序,下面是我的一個鏈接How do I get the Local Network IP address of a computer programmatically? (C#)如何獲取WindowsStore Apps的本地網絡IP地址
如何在WindowsStore應用程序中執行此操作? 有什麼建議嗎?
Dns.GetHostAddresses仍然存在4.5
http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx
謝謝Marq,但我正在嘗試這個Windows應用商店。需要添加更多的東西來支持這? – Lokesh
我在同一點stucked當我最近開始玩弄VS2013和我的第一個商店應用。我沒有太多的C#經驗,但我希望我發現的VB也可以幫助你。 沒錯,帶有「System.Net.DNS」的示例不適用於Store-Apps。但經過一些研究後,我發現類「Windows.Networking.Connectivity.NetworkInformation.GetHostNames」可以用來獲取主機名,也可以獲取IPv4和v6附加信息。 下面的代碼工作正常在Visual Basic中
HostNamesObj = Windows.Networking.Connectivity.NetworkInformation.GetHostNames
For Each HostName In HostNamesObj
If HostName.Type = 0 Then
ComputerNames= HostName.ToString
End If
If HostName.Type = 1 Then
IPv4_Output = HostName.ToString
End If
If HostName.Type = 2 Then
IPv6_Output = HostName.ToString
End If
Next
如果你成功了這種轉換爲C#,我想對你的反饋非常高興,因爲這是我strugling現在的點。我剛剛意識到C#與VB有許多共同之處,但它對變量的類型聲明更加敏感! 所以: 祝你好運,RoadrunnerLI
我相信OP已經擁有他所需要的答案,但對於其他人,根據斷走鵑代碼:
public HostName getCurrentIPAddress()
{
IReadOnlyList<HostName> hosts = NetworkInformation.GetHostNames();
foreach (HostName aName in hosts)
{
if (aName.Type == HostNameType.Ipv4)
{
return aName;
}
}
return null;
}
這得到的第一個IP地址(這是有可能的只有一個,至少在我的電腦上)並將其作爲主機名返回。要將它看成一個字符串,您可以隨時撥打電話hostname.DisplayName
您認爲哪些類和方法在.NET 4.5中不受支持?或者你是否真的在談論Windows應用商店? –
是的..我在WindowsStore應用程序中嘗試過。 – Lokesh
那和.NET 4.5完全不同,它是以前桌面.NET版本的超集。請編輯你的問題,並在將來更小心。 –