C#网络连接情况

来源:互联网 发布:知乎我,一个人生活epub 编辑:程序博客网 时间:2024/04/28 01:40

C#

 

1、导入win32 api

 

[DllImport("wininet")]

public static extern int InternetGetConnectedState(ref int lpdwFlags, int dwReserved);

 

 

2、用法如下:

 

 

string InternetGetConnectedStateString()

{

string strState = "";

try

{

int nState = 0;

// check internet connection state

if(InternetGetConnectedState(ref nState, 0) == 0)

return "You are currently not connected to the internet";

if((nState & 1) == 1)

strState = "Modem connection";

elseif((nState & 2) == 2)

strState = "LAN connection";

elseif((nState & 4) == 4)

strState = "Proxy connection";

elseif((nState & 8) == 8)

strState = "Modem is busy with a non-Internet connection";

elseif((nState & 0x10) == 0x10)

strState = "Remote Access Server is installed";

elseif((nState & 0x20) == 0x20)

return "Offline";

elseif((nState & 0x40) == 0x40)

return "Internet connection is currently configured";

// get current machine IP

IPHostEntry he = Dns.Resolve(Dns.GetHostName());

strState += ",  Machine IP: "+he.AddressList[0].ToString();

}

catch

{

}

return strState;

}

 

 

 

Keyword:网络连接情况 InternetGetConnectedState C#