文档章节

利用cmd命令创建wifi热点

ifeixiang
 ifeixiang
发布于 2014/10/31 17:48
字数 554
阅读 10
收藏 0

核心代码:

  1 /**
  2          * 利用cmd命令创建wifi热点
  3          * */
  4         private void btCreateWifi_Click(object sender, EventArgs e)
  5         {
  6             string hotSpotName = wifiName.Text.Trim();
  7             string hotSpotPass = wifiPass.Text.Trim();
  8             if (hotSpotPass.Length < 8)
  9             {
 10                 MessageBox.Show("密码必须大于8位,请重新输入...");
 11                 wifiPass.Focus();
 12             }
 13             else
 14             {
 15                 if (createHotSpot(hotSpotName, hotSpotPass))
 16                     MessageBox.Show("wifi热点创建成功\n热点名为:" + hotSpotName + "\n密码为:" + hotSpotPass);
 17                 else
 18                     MessageBox.Show("wifi热点创建失败");
 19             }
 20         }
 21 
 22         /** 
 23          * 执行Cmd命令创建wifi热点
 24          * */
 25         public Boolean createHotSpot(string hotSpotName, string hotSpotPass)
 26         {
 27             //创建wifi热点三部曲,仅适用于win7下
 28             string cmd1 = "netsh wlan set hostednetwork mode=allow";
 29             string cmd2 = "netsh wlan set hostednetwork ssid=" + hotSpotName + " key=" + hotSpotPass;
 30             string cmd3 = "netsh wlan start hostednetwork";
 31 
 32             string[] cmd = new string[] { cmd1, cmd2, cmd3 };
 33 
 34             string rs = execMutipleCmd(cmd);
 35 
 36             cmdMsg.AppendText(rs);
 37 
 38             return regexCheckIfSuccess(rs, "已启动承载网络");
 39         }
 40         /**
 41          * 用正则匹配是否成功
 42          * */
 43         public Boolean regexCheckIfSuccess(string msg, string reg)
 44         {
 45             Regex r = new Regex(reg);
 46             Match m = r.Match(msg);
 47             if (m.Success)
 48                 return true;
 49             else
 50                 return false;
 51         }
 52 
 53         private void stopWifi_Click(object sender, EventArgs e)
 54         {
 55             if (stopHotSpot())
 56                 MessageBox.Show("禁止wifi热点成功");
 57             else
 58                 MessageBox.Show("禁止操作失败");
 59         }
 60 
 61         public Boolean stopHotSpot()
 62         {
 63             string cmd = "netsh wlan set hostednetwork mode=disallow";
 64 
 65             string rs = execSingleCmd(cmd);
 66             cmdMsg.AppendText(rs);
 67             return regexCheckIfSuccess(rs, "承载网络模式已设置为禁止");
 68         }
 69         /**
 70          * 执行单条命令
 71          * */
 72         public static string execSingleCmd(string cmd)
 73         {
 74             //因为cmd直接在window system32目录下,所以无需加路径
 75             ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
 76 
 77             //设置不显示cmd窗口
 78             startInfo.CreateNoWindow = true;
 79             startInfo.UseShellExecute = false;
 80 
 81             startInfo.RedirectStandardInput = true;
 82             startInfo.RedirectStandardOutput = true;
 83 
 84             Process process = Process.Start(startInfo);
 85             process.StandardInput.AutoFlush = true;
 86 
 87             process.StandardInput.WriteLine(cmd);
 88             process.StandardInput.WriteLine("exit");
 89             //等待程序执行完退出进程
 90             process.WaitForExit();
 91             //截获输出流
 92             string rs = process.StandardOutput.ReadToEnd();
 93             process.Close();
 94             return rs;
 95         }
 96 
 97         /**
 98          * 执行多条命令
 99          * */
100         public static string execMutipleCmd(string[] cmd)
101         {
102             //因为cmd直接在window system32目录下,所以无需加路径
103             ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
104 
105             //设置不显示cmd窗口
106             startInfo.CreateNoWindow = true;
107             startInfo.UseShellExecute = false;
108 
109             startInfo.RedirectStandardInput = true;
110             startInfo.RedirectStandardOutput = true;
111 
112             Process process = Process.Start(startInfo);
113             process.StandardInput.AutoFlush = true;
114             for (int i = 0; i < cmd.Length; ++i)
115                 process.StandardInput.WriteLine(cmd[i]);
116             process.StandardInput.WriteLine("exit");
117             //等待程序执行完退出进程
118             process.WaitForExit();
119             //截获输出流
120             string rs = process.StandardOutput.ReadToEnd();
121             process.Close();
122             return rs;
123         }

 

© 著作权归作者所有

上一篇: git detached
下一篇: dd测试硬盘性能
ifeixiang
粉丝 16
博文 270
码字总数 99506
作品 0
广州
程序员
私信 提问
C#中调用命令行程序开启wifi热点

最近想在win7上开启wifi热点,于是就弄出下面这个小东西,里面涉及如何在控制台上输入命令,分享一下。首先在VS中创建一个window窗口,然后创建两个四个button,两个输入框。如图所示: 要点...

swords
2013/03/31
0
0
Windows 命令打开无线WIFI热点

一、WIN+R 输入cmd 打开DOS环境 1.承载网络模式设置允许: 2.设置无线热点的名称和密码: 二、无线网络适配器 和 本地连接的配置。 1、打开 控制面板->网络共享中心->更改适配器设置,你会发...

allure_07
2016/06/30
33
0
[转] win7 电脑无线网变身WiFi热点

酒店里没有 wifi ,手机无法上网,在网上找到一篇利用win7 电脑无线网变身WiFi热点的文章,试过可行。 将win7电脑变身WiFi热点,让手机、笔记本共享上网 用win7建立无线局域网,可以共享上网...

红薯
2012/08/17
1K
16
android4.0 WIFI实现网络连接

android4.0上打开wifi后,自动扫描附近所有的wifi热点,连接指定的wifi名称和密码,DHCP动态获取IP后,最后使用Ping命令对连网进行测试。 1.注册wifi的广播接收器: 监听WifiManager.WIFISTA...

_liusl
2013/11/12
0
0
利用Python秒破WiFi密码,万能钥匙不能破的,Python也能破!

环境准备 python2.7 凑合的linux 差不多的无线网卡 pywifi模块 弱口令字典 清除系统中的任何wifi连接记录(非常重要!!!) 首先,这个模块在win下有点鸡肋,作者在调用WLANAPI时没有做好WLANSEC...

浪里小白龙q
2018/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊中国的通信行业:从“七国八制”到“中华”脊梁

本期文章和大家一起来聊一聊我曾经从事过的通信行业吧。最近各方面信息的泛滥,包括和华为的同学聊天,自己确实也感慨颇多。想想我自己本科主修通信工程,研究生再修信息与通信工程,从本科开...

CodeSheep
48分钟前
3
0
MDK:ARM M451M:exceed the range of code meory, continue to erase or not?

问题: 代码空间超限 几天前就遇到:exceed the range of code meory, continue to erase or not? 如下所示: 解决过程 开始以为中MDK软件的128KB限制,如是就不能生成HEX文件,应该链接时有提...

SamXIAO
55分钟前
1
1
OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
266
7
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
8
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部