我试图获取本地网络的IP地址。为此,我搜索并获取少量示例,但WindowsStore应用程序不支持这些类和方法,这是我提到的链接之一How do I get the Local Network IP address of a computer programmatically? (C#)
如何在WindowsStore应用中执行此操作? 有什么建议吗?
答案 0 :(得分:6)
我相信OP已经得到了他需要的答案,但对于其他人来说,基于Roadrunner的代码:
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
答案 1 :(得分:0)
Dns.GetHostAddresses仍然存在于4.5
中http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx
答案 2 :(得分:0)
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#,我会对您的反馈感到非常高兴,因为那是我现在正在努力争取的重点。我刚刚意识到C#与VB有很多共同之处,但它对变量的类型声明要敏感得多! 所以: 祝你好运,RoadrunnerLI