Printable Version
Check Your Internet Connection With C#
By Simohamed Attahri
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.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.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.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 ) ;}}
Check Your Internet Connection With C#
By Simohamed Attahri
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.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.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.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 ) ;}}
http://dev.csdn.net/develop/article/25/25900.shtm
using System;
using System.Diagnostics;
namespace ZZ{ class ZZConsole { [STAThread] static void Main(string[] args) { string ip = "192.192.132.229"; string strRst = CmdPing(ip); Console.WriteLine(strRst); Console.ReadLine(); } private static string CmdPing(string strIp) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; string pingrst; p.Start(); p.StandardInput.WriteLine("ping -n 1 "+strIp); p.StandardInput.WriteLine("exit"); string strRst = p.StandardOutput.ReadToEnd(); if(strRst.IndexOf("(0% loss)")!=-1) pingrst = "连接"; else if( strRst.IndexOf("Destination host unreachable.")!=-1) pingrst = "无法到达目的主机"; else if(strRst.IndexOf("Request timed out.")!=-1) pingrst = "超时"; else if(strRst.IndexOf("Unknown host")!=-1) pingrst = "无法解析主机"; else pingrst = strRst; p.Close(); return pingrst; } }}