• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#判断本地系统的网络连接状态

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

转自:http://www.cnblogs.com/GaoHuhu/archive/2013/06/03/3114950.html

函数InternetGetConnectedState返回本地系统的网络连接状态。

语法:

BOOL InternetGetConnectedState(
__out LPDWORD lpdwFlags,
__in DWORD dwReserved
);
 
参数:
lpdwFlags[out]
指向一个变量,该变量接收连接描述内容。该参数在函数返回FLASE时仍可以返回一个有效的标记。该参数可以为下列值的一个或多个。
含义
INTERNET_CONNECTION_CONFIGURED0x40
Local system has a valid connection to the Internet, but it might or might not be currently connected.
INTERNET_CONNECTION_LAN 0x02
Local system uses a local area network to connect to the Internet.
INTERNET_CONNECTION_MODEM0x01
Local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM_BUSY0x08
No longer used.
INTERNET_CONNECTION_OFFLINE 0x20
Local system is in offline mode.
INTERNET_CONNECTION_PROXY0x04
Local system uses a proxy server to connect to the Internet.
INTERNET_RAS_INSTALLED0x10
Local system has RAS installed.
dwReserved[in]
保留值。必须为0。
 
返回值:
当存在一个modem或一个LAN连接时,返回TRUE,当不存在internet连接或所有的连接当前未被激活时,返回false。
当该函数返回false时,程序可以调用GetLastError来接收错误代码。
 
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
 
namespace ConsoleApplication1
{
    class Program
    {
        private const int INTERNET_CONNECTION_MODEM = 1;
 
        private const int INTERNET_CONNECTION_LAN = 2;
 
        private const int INTERNET_CONNECTION_PROXY = 4;
 
        private const int INTERNET_CONNECTION_MODEM_BUSY = 8;
 
        [DllImport("winInet.dll ")]
 
        //声明外部的函数:
 
        private static extern bool InternetGetConnectedState(
            ref  int Flag,
            int dwReserved
        );
 
        static void Main(string[] args)
        {
            int Flag = 0;
 
            string netStates = "";
 
            if (!InternetGetConnectedState(ref Flag, 0))
            {
                Console.WriteLine("no!");
            }
            else
            {
 
                if ((Flag & INTERNET_CONNECTION_MODEM) != 0)
 
                    netStates += " Connect by MODEM /n";
 
                if ((Flag & INTERNET_CONNECTION_LAN) != 0)
 
                    netStates += "Connect by LAN  /n";
 
                if ((Flag & INTERNET_CONNECTION_PROXY) != 0)
 
                    netStates += "Connect by PROXY /n";
 
                if ((Flag & INTERNET_CONNECTION_MODEM_BUSY) != 0)
 
                    netStates += " MODEM is busy  /n";
 
            }
 
            Console.WriteLine(netStates);
            Console.ReadLine();
        }
    }
}

 

截图:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#泛型发布时间:2022-07-13
下一篇:
C# 操作iis (安装包操作IIS以及属性介绍)发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap