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下载点这。
Win7网络检测 WindowsAPICodePack的更多相关文章
- iOS开发——网络篇——NSURLSession,下载、上传代理方法,利用NSURLSession断点下载,AFN基本使用,网络检测,NSURLConnection补充
一.NSURLConnection补充 前面提到的NSURLConnection有些知识点需要补充 NSURLConnectionDataDelegate的代理方法有一下几个 - (void)conn ...
- WinForm多线程实现HTTP网络检测工具
一.背景描述与课程介绍 明人不说暗话,跟着阿笨一起玩WinForm.本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高 ...
- ios - 高效,准确的网络检测
//网络检测 // 1.创建网络监听者管理者对象 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager share ...
- Hyper-V虚拟机win7网络红叉,无法上网解决方法
之前一直都是玩Vmware虚拟机,后来win8之后的系统有Hyper-V虚拟机就开始接触了. Windows 中内置的Hyper-V管理器可以说是给很多人带来了惊喜!至少运行的流畅程度要比Vmware ...
- 解除win7网络限速.
在电脑刚买或者系统重装了的时候,win7系统会默认限制20%的网络速度,限制了我们的上网速度,我们可以解决这个限制,让上网变得更快 下面是操作步骤 1.开始>运行 2.输入以下命令,然后确定 g ...
- iOS网络检测
使用之前请从Apple网站下载示例:点此下载 Reachability 中定义了3种网络状态: typedef enum : NSInteger { NotReachable = ,//无网络 Rea ...
- Win7网络修复,winsock/tcpip
1.win7自带网络诊断提示没有安装一个或多个协议,ip地址为169.254.x.x,dns地址为空 2.修复winsock时,提示系统找不到指定的文件. 解决办法: 1. netsh int ip ...
- Linux网络检测手段汇总
1.iftop iftop可测量通过每一个套接字连接传输的数据:它采用的工作方式有别于nload.iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况 ...
- (020)[虚拟系统]Win7网络连接红叉(无解决)
该虚拟机在重装主系统前是可以连接网络的,主系统重新安装以后,导入新安装的VM以后,网络图标显示红叉. 查看设备管理,显示没有安装以太网驱动. 重新安装 Vmware Tools,未果.VMware官网 ...
随机推荐
- word2pdf
在网上现在能查到的,并且能通过php调用相关接口,将word转换成pdf文件的有openoffice,访问网址为http://www.openoffice.org/download/index.htm ...
- Oracle 10g RAC启动与关闭命令
一. 检查共享设备 一般情况下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自动启动的. 如果他们没有启动,RAC 肯定是启动不了的. 1.1 如果使用ocfs2的,检查o ...
- Django 403错误:CSRF verification failed. Request aborted
网上有解决办法,我自己的组合是: 一,FORM加标识 <form action="" method="post"> {% csrf_token %} ...
- POJ 2778 DNA Sequence (AC自动机,矩阵乘法)
题意:给定n个不能出现的模式串,给定一个长度m,要求长度为m的合法串有多少种. 思路:用AC自动机,利用AC自动机上的节点做矩阵乘法. #include<iostream> #includ ...
- 《Programming WPF》翻译 第7章 1.图形基础
原文:<Programming WPF>翻译 第7章 1.图形基础 WPF使得在你的应用程序中使用图形很容易,以及更容易开发你的显卡的能力.这有很多图形构架的方面来达到这个目标.其中最重要 ...
- Qt编程之转换成8,16bit的灰度图
代码大致是下面这样的.是8bit的灰度图,不是16bit. QString img_path = "C:\\Users\\Yajun Dou\\Desktop\\test.bmp" ...
- Tk::Table
<pre name="code" class="python"># DESCRIPTION # Tk::Table is an all-perl w ...
- UML建模工具-火龙果软件
官网地址:http://code.uml.com.cn/index.asp Bridge桥梁模式 (待逆向) 桥梁模式,通过增加一个类,将抽象部分与它的实现部分分离,使它们都可以独立 ...
- 关于sem_unlink什么时候删除信号量
sem_unlink在man手册里有这么一段话: sem_unlink() removes the named semaphore referred to by name. The semaphore ...
- BZOJ 2733 HNOI 2012 永无乡 平衡树启示式合并
题目大意:有一些岛屿,一開始由一些无向边连接. 后来也有不断的无向边增加,每个岛屿有个一独一无二的重要度,问随意时刻的与一个岛屿联通的全部岛中重要度第k大的岛的编号是什么. 思路:首先连通性一定要用并 ...