Win7网络检测 WindowsAPICodePack

原文:http://www.cnblogs.com/yincheng01/archive/2010/05/30/2213234.html

在Windows7操作系统下,支持的网络类型越来越复杂,微软提供了WindowsAPICodePack来进行简化底层开发,

我们大家来亲自实践一下关于网络状态开发,基于WindowsAPICodePack

启动VS2010

引入dll文件,添加如下代码即可

private void LoadNetworkConnections()
        {
            try
            {
                NetworkCollection networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All);
                foreach (Network n in networks)
                {
                    // 创建 tab
                    TabItem tabItem = new TabItem();
                    tabItem.Header = string.Format("Network {0} ({1})", tabControl1.Items.Count, n.Name);
                    tabControl1.Items.Add(tabItem);

                    //
                    StackPanel stackPanel2 = new StackPanel();
                    stackPanel2.Orientation = Orientation.Vertical;

                    // 列举所有信息
                    AddProperty("网络名称: ", n.Name, stackPanel2);
                    AddProperty("网络类型: ", n.Description, stackPanel2);
                    AddProperty("域类型: ", n.DomainType.ToString(), stackPanel2);
                    AddProperty("是否连接: ", n.IsConnected.ToString(), stackPanel2);
                    AddProperty("是否上网: ", n.IsConnectedToInternet.ToString(), stackPanel2);
                    AddProperty("网络 ID: ", n.NetworkId.ToString(), stackPanel2);
                    AddProperty("类别: ", n.Category.ToString(), stackPanel2);
                    AddProperty("创建时间: ", n.CreatedTime.ToString(), stackPanel2);
                    AddProperty("连接时间: ", n.ConnectedTime.ToString(), stackPanel2);
                    AddProperty("连接: ", n.Connectivity.ToString(), stackPanel2);

                    //
                    StringBuilder s = new StringBuilder();
                    s.AppendLine("网络连接:");
                    NetworkConnectionCollection connections = n.Connections;
                    string hh = System.Environment.NewLine;
                    foreach (NetworkConnection nc in connections)
                    {
                        s.AppendFormat(hh + "连接 ID: {0}" + hh + "类型: {1}" + hh + "是否连接: {2}" + hh + "是否连接因特网: {3}" + hh,
                            nc.ConnectionId, nc.DomainType, nc.IsConnected, nc.IsConnectedToInternet);
                        s.AppendFormat(hh + "适配器 ID: {0}" + hh + "连接: {1}" + hh,
                            nc.AdapterId, nc.Connectivity);
                    }
                    s.AppendLine();

                    Label label = new Label();
                    label.Content = s.ToString();

                    stackPanel2.Children.Add(label);
                    tabItem.Content = stackPanel2;
                }
            }
            catch (Exception ex)
            {
                txtReadWrite.WriteLog("检测网络异常!" + ex.GetType().FullName + ex.Message + ex.StackTrace);
                (new Win_Popup("消息", "删除数据时出错!" + ex.Message, MessageBoxButton.OK)).ShowDialog();
            }
        }

        private void AddProperty(string propertyName, string propertyValue, StackPanel parent)
        {
            StackPanel panel = new StackPanel();
            panel.Orientation = Orientation.Horizontal;

            Label propertyNameLabel = new Label();
            propertyNameLabel.Content = propertyName;
            panel.Children.Add(propertyNameLabel);

            Label propertyValueLabel = new Label();
            propertyValueLabel.Content = propertyValue;
            panel.Children.Add(propertyValueLabel);

            parent.Children.Add(panel);
        }

窗口代码如下:

 <Grid>
        <TabControl Height="Auto" HorizontalAlignment="Stretch" Margin="10,10,10,10" Name="tabControl1" VerticalAlignment="Stretch" Width="Auto">
        </TabControl>
    </Grid>

看下效果图吧:

通过这个接口,可以获取各个网络的信息。dll下载点这

时间: 2024-07-31 18:45:54

Win7网络检测 WindowsAPICodePack的相关文章

win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!

1.以管理员身份运行命令提示符:快捷键win+R→输入cmd→回车2.启用并设定虚拟WiFi网卡:运行命令:netsh wlan set hostednetwork mode=allow ssid=mywifi key=12345678此命令有三个参数,mode:是否启用虚拟WiFi网卡,改为disallow则为禁用. ssid:无线网名称,最好用英文(以mywifi为例). key:无线网密码,八个以上字符(以12345678为例).以上三个参数可以单独使用,例如只使用mode=disallo

Easyspy网络检测系统

Easyspy是一款网络入侵检测和流量实时监控软件.作为一个入侵检测系统,用来快速发现并定位诸如ARP攻击.DOS/DDOS.分片IP报文攻击等恶意攻击行为,帮助发现潜在的安全隐患.Easyspy又是一款Sniffer软件,用来进行故障诊断,快速排查网络故障,准确定位故障点,评估网络性能,查找网络瓶颈从而保障网络质量. 实时监控,发现问题.. 烈焰下载:http://pan.baidu.com/s/1hqrE2mo Easyspy网络检测系统

网络检测工具smokeping安装配置

smokeping是MRTG和RRDtool作者Tobi Oetiker的作品,主要用于对IDC网络质量,稳定性等做检测,主要功能包括常规的ping,dig,echoping,curl等,依赖rrdtool来画图.选择smokeping我觉得有以下原因: 1,最佳的画图功能,延迟和丢包用颜色和阴影表示很直观. 2,免费和开源. 3,支持主从的分布式模式. 4,可以自定义报警功能. smokeping官方网站:http://oss.oetiker.ch/smokeping/ 如下安装配置的系统为:

windows 如何进行网络检测以及根证书更新

最近收到一个case请求,环境如下,客户端大概1300台,全部升到win7了,服务器300台左右,部分2008R2,部分是2003操作系统,该公司采用wensense进行网络监控,买了1500个license,就是说同时只能响应1500个访问请求.现在发现,早上好多人上不了网,通过监控发现,大量的机器开机访问了www.msftncsi.com以及ctldl.windowsupdate.com两个网站,占用了大量的license.  通过进一步的研究,我们发现这两个网址的访问乃是微软的默认行为.

解除win7网络限速.

在电脑刚买或者系统重装了的时候,win7系统会默认限制20%的网络速度,限制了我们的上网速度,我们可以解决这个限制,让上网变得更快 下面是操作步骤 1.开始>运行 2.输入以下命令,然后确定 gpedit.msc 3.点击计算机配置 4.点击管理模板 5.点击网络 6.点击qos数据包计划程序 7.进入“限制可保留带宽” 8.进入之后,默认的是未配置,带宽限制默认为20%,这里点击“已启用”,然后设置带宽限制为0 9.设置完成之后,保存>重启

iOS:网络检测

若想App通过审核,则必须对网络环境进行判断,在无网络的时候进行提醒等处理. Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法.要在应用程序程序中使用Reachability,首先要完成如下两部:        1.1. 添加源文件:    在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中.如下图: 1.2.添加framework:    将SystemConfigura

020 [虚拟系统]Win7网络连接红叉(无解决)

该虚拟机在重装主系统前是可以连接网络的,主系统重新安装以后,导入新安装的VM以后,网络图标显示红叉. 查看设备管理,显示没有安装以太网驱动. 重新安装 Vmware Tools,未果.VMware官网文章:网络适配器从 Windows 虚拟机中消失 (2091664)可是这文讲的是网络适配器的暂歇性消失,与本现象不符合. 谷歌到这文:[技术贴]虚拟机 VMware win7 win8网卡驱动下载 解决虚拟机不识别网卡没有本地连接与作者描述的现象一致,可惜按照其步骤仍不能解决问题. 想安装主机的主

iOS开发实践之网络检测Reachability

在网络应用开发中,有时需要对用户设备的网络状态进行实时监控,以至于对用户进行友好提示 或者根据不同网络状态处理不一样的逻辑(如视频播放app,根据当前的网络情况自动切换视频清晰度等等).用Reachability实现网络的检测. 苹果官方提供了Reachability的示例程序,便于开发者检测网络状态 https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip 1. 网络状态枚举NetworkS

IOS网络——检测网络状态:Reachability

1.iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用.大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作. 2.在你的应用尝试通过网络获取数据之前,你需要知道当前设备是否知道连接上了网络,甚至有时候你可能还需要知道当前网路是由wifi还是由移动蜂窝网络提供的. 3.“在网络访问失败的时候,应用没有做出适当的提示”是苹果的iOS审核团队拒绝一个应用的常见理由.苹果要求你必须先检测网络连接状态,当网络不可用的时候以某种方式告知用户