2010-08-19 203 views
2

如何通過我的應用程序檢查計算機是否與互聯網連接(目前) 如果連接網絡,我需要一條消息。檢測互聯網是否連接

非常感謝 Furqan

+0

如果互聯網已連接,您下一步會做什麼?一旦我們知道接下來的答案,那麼我們可以提供最好的答案。 – dbasnett 2010-08-19 13:04:44

+0

如果找到互聯網連接,我會啓動應用程序發送電子郵件。 – 2010-08-20 17:29:16

回答

4

平。 響應暗淡由於布爾=假 響應= My.Computer.Network.ping(google.com)

真,你有機會,假的,你不這樣做,或者世界結束,因爲谷歌處於脫機狀態。

+3

或谷歌已經關閉了ICMP迴應ping響應洪水攻擊 – Paddyslacker 2010-08-19 07:34:08

3

我會嘗試。 它來自VB 6,但我認爲你可以很容易地轉換它。

Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef 
dwflags As Long, ByVal dwReserved As Long) As Long 

Public Function IsOnline() As Boolean 
Dim LFlags As Long 
IsOnline = InternetGetConnectedState(LFlags, 0&) 
End Function 

http://bytes.com/topic/visual-basic/answers/14551-detecting-internet-connection

+0

[This](http://www.farooqazam.net/csharp-check-if-connected-to-internet/)看起來好一點。反正也是一樣的想法。這無疑是最好的答案。如果谷歌去世怎麼辦?我不喜歡接受的答案。我沒有檢查過,但我認爲ping可能會消耗更多的性能。 – Shimmy 2011-10-02 00:42:33

2

應該像處理文件一樣處理因特網連接。

對於文件,通常不應該使用File.Exists()來首先查看是否可以打開文件,因爲結果可能會在執行檢查和執行檢查結果時發生變化,更不用說了僅存在和讀取權限之間的區別。無論如何,你必須處理例外情況,所以這是一個集中精力的好地方。

互聯網接入也是如此。最好的選擇通常只是去做,並把你的開發時間集中在異常處理程序上。

0

使用此代碼:

If My.Computer.Network.IsAvailable Then 
    MsgBox("Computer is connected.") 
Else 
    MsgBox("Computer is not connected.") 
End If 

參考this link

+0

我遇到的問題是,可能會有誤報由於虛擬適配器,即。它似乎檢測到我的VMware虛擬適配器,並認爲即使我從任何網絡拔出,我的PC都可以訪問網絡。 – kilkenny 2014-07-22 16:50:51