是否可以在C#中编写一个将在Windows 8 Metro环境中运行的Ping类?

时间:2012-06-08 16:05:17

标签: c# windows networking windows-8 windows-runtime

由于Windows 8上的Metro环境缺少大多数.NET框架类库或包含一个经济上削减的版本,是否可以从Metro风格应用程序执行“ping”?支持套接字,所以我猜有希望,但我不知道从哪里开始,因为每个“C#Ping”示例都使用System.Net.NetworkInformation.Ping,而WinRT中没有。

我还查看了Mono的源代码,他们的ping实现启动了ping.exe并从命令行的标准输出窗口返回结果。

1 个答案:

答案 0 :(得分:5)

不,不幸的是没有。 WinRT不支持ICMP:IcmpCreateFile并且相关的Win32 API仅在“桌面”API分区中可用。 ICMP可以使用原始套接字实现,但由于WinRT不支持这些(并且通常需要提升),因此您也无法使用此选项。

作为Windows Store网络扫描工具的开发人员(http://lanscan.rcook.org/),我很乐意能够做到这一点。