C#中调用命令行cmd开启wifi热点的实例代码
时间:2023-11-28 03:15:04
要点1:cmd命令行的输入命令
netsh wlan set hostednetwork mode=allow ssid=用户名 key=密码
netsh wlan start hostednetwork
netsh waln stop hostednetwork
netsh interface ip set address name="本地连接" source=dhcp
要点2:在C#中调用cmd.exe命令行
private void create(string str)
{
//process用于调用外部程序
System.Diagnostics.Process p = new System.Diagnostics.Process();
//调用cmd.exe
p.StartInfo.FileName = "cmd.exe";
//是否指定操作系统外壳进程启动程序
p.StartInfo.UseShellExecute = false;
//可能接受来自调用程序的输入信息
//重定向标准输入
p.StartInfo.RedirectStandardInput = true;
//重定向标准输出
p.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
p.StartInfo.RedirectStandardError = true;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
//启动程序
p.Start();
//睡眠1s。
System.Threading.Thread.Sleep(1000);
//输入命令
p.StandardInput.WriteLine(str);
//一定要关闭。
p.StandardInput.WriteLine("exit");
}
详细的代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace wifi01
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//“创建wifi热点”按钮
private void button1_Click(object sender, EventArgs e)
{
string str;
string userName = textBox1.Text;
string password = textBox2.Text;
if (password.Length >= 8 && userName != null)
{
// 命令行输入命令,用来新建wifi
str="netsh wlan set hostednetwork mode=allow ssid="+userName+" key="+password;
create(str);
MessageBox.Show("新建了wifi热点",
"新建成功",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
label4.Text = "新建了wifi热点";
}
else
{
MessageBox.Show("你的账号为空或你的密码长度小于8",
"登陆失败",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
}
//"开启wifi"按钮
private void button2_Click(object sender, EventArgs e)
{
// 命令行输入命令,
string str = "netsh wlan start hostednetwork";
create(str);
label4.Text = "已启动wifi热点";
}
//“关闭wifi”按钮
private void button3_Click(object sender, EventArgs e)
{
// 命令行输入命令,
string str = "netsh wlan stop hostednetwork";
create(str);
label4.Text = "已关闭wifi热点";
}
//在cmd控制台输入命令,
private void create(string str)
{
//process用于调用外部程序
System.Diagnostics.Process p = new System.Diagnostics.Process();
//调用cmd.exe
p.StartInfo.FileName = "cmd.exe";
//是否指定操作系统外壳进程启动程序
p.StartInfo.UseShellExecute = false;
//可能接受来自调用程序的输入信息
//重定向标准输入
p.StartInfo.RedirectStandardInput = true;
//重定向标准输出
p.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
p.StartInfo.RedirectStandardError = true;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
//启动程序
p.Start();
//睡眠1s。
System.Threading.Thread.Sleep(1000);
//输入命令
p.StandardInput.WriteLine(str);
//一定要关闭。
p.StandardInput.WriteLine("exit");
}
//自动IP连接 按钮
private void button4_Click(object sender, EventArgs e)
{
// 命令行输入命令,用来自动连接wifi:netsh interface ip set address name="本地连接" source=dhcp
string str="netsh interface ip set address name=\"本地连接\" source=dhcp";
string str1 = "锐捷是否提示你设置自动获取IP\n"+"或你想自动获取IP,请按确定";
DialogResult result = MessageBox.Show(str1,"自动连接IP",
MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
if (result == DialogResult.OK)
{
create(str);
label4.Text = "锐捷自动获取IP";
}
}
}
}
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#巧用DateTime预设可选的日期范围(如本年度、本季度、本月等)
![](https://img.aspxhome.com/file/2023/2/125992_0s.gif)
Android应用开发之将SQLite和APK一起打包的方法
字符串阵列String[]转换为整型阵列Int[]的实例
![](https://img.aspxhome.com/file/2023/1/116531_0s.jpg)
Android自定义有限制区域图例角度自识别涂鸦工具类中篇
![](https://img.aspxhome.com/file/2023/8/138508_0s.jpg)
SpringBoot集成SpringSecurity和JWT做登陆鉴权的实现
MybatisPlus字段类型转换的实现示例
![](https://img.aspxhome.com/file/2023/6/78906_0s.jpg)
java反射使用示例分享
Android编程之Sdcard相关代码集锦
winform实现可拖动的自定义Label控件
![](https://img.aspxhome.com/file/2023/6/102206_0s.gif)
Android Rreact Native 常见错误总结
Java Spring Security认证与授权及注销和权限控制篇综合解析
![](https://img.aspxhome.com/file/2023/7/92537_0s.png)
Java结构型设计模式之享元模式示例详解
![](https://img.aspxhome.com/file/2023/9/66059_0s.png)
Java中的字节流文件读取教程(一)
![](https://img.aspxhome.com/file/2023/0/124710_0s.png)
如何从UA分辨出Android设备类型
![](https://img.aspxhome.com/file/2023/9/139229_0s.jpg)
Android中去掉标题栏的几种方法(三种)
![](https://img.aspxhome.com/file/2023/5/102575_0s.png)
mybaties plus selectMaps和selectList的区别说明
![](https://img.aspxhome.com/file/2023/5/68225_0s.png)
Java基于外观模式实现美食天下食谱功能实例详解
![](https://img.aspxhome.com/file/2023/8/84698_0s.png)
Android实现换肤的两种思路分析
java取两个字符串的最大交集
SpringBoot统一响应格式及统一异常处理
![](https://img.aspxhome.com/file/2023/5/63155_0s.png)