C#中的ICMP,SocketException-访问权限禁止

C#中的ICMP,SocketException-访问权限禁止,c#,icmp,C#,Icmp,我正在努力让这辆车开始工作。但在这方面: Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Raw, System.Net.Sockets.ProtocolTyp

我正在努力让这辆车开始工作。但在这方面:

Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
                                       System.Net.Sockets.SocketType.Raw,
                                       System.Net.Sockets.ProtocolType.Icmp);
I get-SocketException:“试图以访问权限所禁止的方式访问套接字”(本机错误代码:10013)

在管理员模式下运行是一个(糟糕的)解决方案,但既然我希望我的程序在用户级别上工作,您会建议什么?也欢迎其他ICMP方法


我一直在尝试使用“ClickOnce”安全设置,但没有任何帮助。

自Windows 2000以来,ICMP和原始套接字仅限于管理员用户使用。您尚未说明要执行的操作,但可以尝试使用NetworkInformation命名空间来实现您的目标:

它包括一个用于发送ICMP回显请求的类