shell32.dll 控制网络
- //禁用 SetNetworkAdapter(False)
- //启用 SetNetworkAdapter(True)
- //添加引用system32/shell32.dll
- private static bool SetNetworkAdapter(bool status)
- {
- const string discVerb = "停用(&B)"; // "停用(&B)";
- const string connVerb = "启用(&A)"; // "启用(&A)";
- const string network = "网络连接"; //"网络连接";
- const string networkConnection = "VMware Network Adapter VMnet1"; // "本地连接"
- string sVerb = null;
- if (status)
- {
- sVerb = connVerb;
- }
- else
- {
- sVerb = discVerb;
- }
- Shell32.Shell sh = new Shell32.Shell();
- Shell32.Folder folder = sh.NameSpace(Shell32.ShellSpecialFolderConstants.ssfCONTROLS);
- try
- {
- //进入控制面板的所有选项
- foreach (Shell32.FolderItem myItem in folder.Items())
- {
- //进入网络连接
- if (myItem.Name == network)
- {
- Shell32.Folder fd = (Shell32.Folder)myItem.GetFolder;
- foreach (Shell32.FolderItem fi in fd.Items())
- {
- //找到本地连接
- if ((fi.Name == networkConnection))
- {
- //找本地连接的所有右键功能菜单
- foreach (Shell32.FolderItemVerb Fib in fi.Verbs())
- {
- if (Fib.Name == sVerb)
- {
- Fib.DoIt();
- return true;
- }
- }
- }
- }
- }
- }
- }
- catch (Exception e)
- {
- Console.WriteLine(e.Message);
- return false;
- }
- return true;
- }
第一种出处:http://blog.csdn.net/leon_ice/article/details/4426278
再来一种方式 其实大体上是一样的 只不过第二种个人觉得比较赞 win7也适用
- /// <summary>
- /// 启用网络
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void btn_StartNet_Click(object sender, EventArgs e)
- {
- //SetNetworkAdapter(true);
- SetTest("本地连接", "启用"); // SetTest("本地连接", "禁用");
- }
- private void SetTest(string netWorkName, string operation)
- {
- Shell32.Shell shell = new Shell32.ShellClass();
- Shell32.Folder folder = shell.NameSpace(49);
- foreach (Shell32.FolderItem fi in folder.Items())
- {
- if (fi.Name != netWorkName)
- continue;
- Shell32.ShellFolderItem folderItem = (Shell32.ShellFolderItem)fi;
- foreach (Shell32.FolderItemVerb fiv in folderItem.Verbs())
- {
- if (!fiv.Name.Contains(operation))
- continue;
- else
- {
- fiv.DoIt();
- Thread.Sleep(1000);
- break;
- }
- }
- }
- }
shell32.dll 控制网络的更多相关文章
- C#应用Newtonsoft.Json.dll,控制json的时间格式
原文:C#应用Newtonsoft.Json.dll,控制json的时间格式 var aIsoDateTimeConverter = new IsoDateTimeConverter();aIsoDa ...
- Linux模拟控制网络时延
之前以为可以使用Linux自带的工具模拟控制网络时延,所以上网找了一些资料.后来发现,找到的资料目前只支持在一个网卡上模拟发送报文的时延,而不能设置有差别的网络时延,或者说当要模拟的向A发送的时延与要 ...
- 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS
返回 自学工业控制网络之路 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS 工业控制系统是对诸如图像.语音信号等大数据量.高速率传输的要求,又催生了当前在商业领域风靡的以太网与 ...
- 自学工业控制网络之路1.2-典型的现场总线介绍PROFIBUS
返回 自学工业控制网络之路 自学工业控制网络之路1.2-典型的现场总线介绍PROFIBUS 目前看来,现场总线标准不会统一,多标准并存现象将会持续. 现场总线国家标准: 中国的DeviceNet和AS ...
- 自学工业控制网络之路1.3-典型的现场总线介绍FF
返回 自学工业控制网络之路 自学工业控制网络之路1.3-典型的现场总线介绍FF 1994年6月,ISP和WORLDFIP合并成立现场总线基金会FF.1998年,FF基金会开发了HSE 10/100Mb ...
- 自学工业控制网络之路1.4-典型的现场总线介绍CAN
返回 自学工业控制网络之路 自学工业控制网络之路1.4-典型的现场总线介绍CAN 1991年3月,发布了CAN技术贵干v2.0,包含了A.B两部分.CAN2.0A给出报文标准格式,CAN2.0B给出了 ...
- 自学工业控制网络之路1.5-典型的现场总线介绍DeviceNet
返回 自学工业控制网络之路 自学工业控制网络之路1.5-典型的现场总线介绍DeviceNet 2002年10月DeviceNet被批准为中国国家标准GB/T18858.3-2002,并于2003.4. ...
- 自学工业控制网络之路1.6-典型的现场总线介绍Interbus
返回 自学工业控制网络之路 自学工业控制网络之路1.6-典型的现场总线介绍Interbus 1987年正式公布,其主要技术开发者为德国的PhoenixContact公司.1996年,INTERBUS成 ...
- 自学工业控制网络之路2.2-PROFINET
返回 自学工业控制网络之路 自学工业控制网络之路2.2-PROFINET PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技 ...
随机推荐
- EXCLE 导入 或 导出
首先要引用 NPOI.dll (可在网上下载!)//导入public void OnSubmit() { string path = Server.MapPat ...
- django+javascrpt+python实现私有云盘
代码稍后上,先整理下私有云盘的相关功能介绍. 1.登陆界面 2.首页展示,有个人目录.部门目录以及公司目录,针对不用的目录设置不同的权限控制. 3.个人信息展示 4.账号管理.账号信息展示 5.账号添 ...
- 微信小程序开发---视图层(View)
WXML WXML能力: 数据绑定 列表渲染 条件渲染 模板 事件 数据绑定 数据绑定使用 Mustache 语法(双大括号)将变量包起来,可作用于内容,组件属性(需要在双引号之内),控制属性(需要在 ...
- SQL Server数据库可能遇到的报错
1.操作附加操作时报错: 可能的解决方法: 退出数据库,换Windows身份验证登录,就可以了 2.插入语句报错: 1) 2)
- Spring 复习第一天
一.Sping的优点 1.方便解耦,简化开发 ----Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理. 2.AOP编程的支持 ----Spring提供面向切面编程, ...
- C#线程的使用(1)
今天刚开始学习使用线程,把学习过程与新的记录下来. 创建线程: 非常简单,只需声明她并为其提供线程起始点处的方法委托即可: 终止线程: 使用Abort和Join方法来实现: Abort方法:用于永久的 ...
- mysql数据库的基本操作:索引、视图,导入和导出,备份和恢复
1.索引: 索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容. 当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进 ...
- unittest中的测试固件
运行下面的两段代码,看看有什么不同? 第一段: import unittest from selenium import webdriver class F2(unittest.TestCase): ...
- IOS - 上APPSTORE为何因IPv6被拒?
http://blog.csdn.net/wanglixin1999/article/details/52182001
- QEMU KVM Libvirt手册(10):Managing Virtual Machines with libvirt
libvirt is a library that provides a common API for managing popular virtualization solutions, among ...