2009-04-13 35 views
1

我試圖讓ICMP code found here工作。然而在這條線:C#中的ICMP,SocketException - 通過訪問權限禁止

Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, 
             System.Net.Sockets.SocketType.Raw, 
             System.Net.Sockets.ProtocolType.Icmp); 

我得到SocketException:「試圖通過其訪問權限不允許的方式來訪問套接字」(本機錯誤代碼:10013)

在管理員模式下運行是一個(壞的)解決方案,但是因爲我希望我的程序能夠在用戶級別上運行,所以您會怎麼樣?其他ICMP方法也是受歡迎的。

我一直在嘗試玩「ClickOnce」安全設置,這沒有幫助。

回答

2

ICMP和原始套接字被限制,因爲Windows 2000中你還沒有說你想做什麼管理員用戶,但您可以嘗試NetworkInformation命名空間來實現自己的目標:NetworkInformation

它包括一個Ping類發送ICMP迴應請求。