Check Your Internet Connection With C#
By Simohamed Attahri
用C#檢測你的網絡連接
How to check if your computer is connected to the internet with C#. It's much more easIEr that other tutorials I've seen in other sites. In deed, we're going to use a simple API function InternetGetConnectedState, to return a boolean variable.
怎麼用C#來檢測你的計算機是否連接到互聯網呢?這可能是我見過最簡單的教程了。其實我們就是使用一個簡單的InternetGetConnectedState API函數,結果是返回一個boolean類型的變量。
This function takes two arguments :
這個函數有兩個參數:
The first one is an integer used with out keyWord, that means that after calling the function, the variable will contain an interger that describes the connection state ( use of a modem, use of a proxy, offline mode...). Note that you must refer to www.msdn.com for more information about that.
The second one is a reserved variable that must be set to 0.
第一個是帶有out關鍵字的整型數,也就是說在調用函數後,變量應該包含一個描述連接狀態(使用調制解調器、使用代理、離線模式)的整型數。你可以到www.msdn.com獲取更多相關信息。
第二個參數設置為零的保留變量。
In this tutorial, we'll create a class with a static function that returns true if connected and false if not, using our API function in private state.
在這篇教程中,我們建立一個有著靜態函數的類,在私有域使用API函數。如果連通則返回true否則返回false。
Check this out :
using System ;
using System.Runtime ;
using System.Runtime.InteropServices ;
public class InternetCS
{
//Creating the extern function...
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState( int out Description, int ReservedValue ) ;
//Creating a function that uses the API function...
public static bool IsConnectedToInternet( )
{
int Desc ;
return InternetGetConnectedState( out Desc, 0 ) ;
}
}