2010-08-19 97 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