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;
using System.Diagnostics; namespace wifiGX
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public int wifikg = 0;
private void Form1_Load(object sender, EventArgs e)
{ }
//cmd调用
private string InvokeCmd(string cmdArgs)
{
string Tstr = "";
Process p = new Process();
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(); p.StandardInput.WriteLine(cmdArgs);
p.StandardInput.WriteLine("exit");
Tstr = p.StandardOutput.ReadToEnd();
p.Close();
return Tstr;
} private void button1_Click(object sender, EventArgs e)
{
if (okmima == 1 && okmingzi == 1)
{
try
{
string mingling = "netsh wlan set hostednetwork mode=allow ssid=" + mingzi.Text + " key=" + mima.Text;
string str = InvokeCmd(mingling);
richTextBox1.Text = str;
int cg = 0;
for (int i = 0; i < str.Length - 2; i++)
if (str.Substring(i, 2) == "成功")
cg++;
if (cg == 2)
{
richTextBox1.Text = "承载网络模式已设置为允许。\n已成功更改承载网络的 SSID。\n已成功更改托管网络的用户密钥密码。\n";
}
else
{
richTextBox1.Text = " 系统函数调用错误,可能原因是账号密码不规则(密码尽量只用数字和字母)";
} }
catch
{
richTextBox1 .Text =" 系统函数调用错误,可能原因是账号密码不规则(密码尽量只用数字和字母)";
}
}
else
{
MessageBox.Show("wifi名字或者密码长度不符合要求");
}
} private void button2_Click(object sender, EventArgs e)
{
try
{
string mingling = "netsh wlan start hostednetwork";
string str = InvokeCmd(mingling);
int mk = 0;
for(int i = 0;i < str.Length - 7;i ++)
{
if (str.Substring(i, 7) == "已启动承载网络")
{
mk = 1;
richTextBox1.Text = "已启动承载网络";
wifikg = 1;
}
}
if (mk == 0) richTextBox1.Text = "启动失败!";
else
{
if (wifikg == 0)
{
richTextBox2.Text = "wifi未开启,暂无设置信息!";
richTextBox3.Text = "wifi未开启,暂无状态信息!";
}
else
try
{
mingling = "netsh wlan show hostednetwork";
str = InvokeCmd(mingling);
int s1 = 0, s2 = 0, s = 0, s3 = 0;
for (int i = 0; i < str.Length - 6; i++)
{
if (str.Substring(i, 6) == "承载网络设置")
s1 = i;
if (str.Substring(i, 6) == "承载网络状态")
s2 = i;
if (s2 != 0 && str.Substring(i, 1) == "\n") s++;
if (s == 7 && s3 == 0) s3 = i;
}
richTextBox2.Text = str.Substring(s1, s2 - s1);
richTextBox3.Text = str.Substring(s2, s3 - s2);
}
catch
{
richTextBox2.Text = "信息更新失败!";
richTextBox3.Text = "信息更新失败!";
}
}
}
catch
{
richTextBox1.Text = "启动失败!";
} } private void button3_Click(object sender, EventArgs e)
{
//已停止承载网络
try
{
string mingling = "netsh wlan stop hostednetwork";
string str = InvokeCmd(mingling);
int mk = 0;
for (int i = 0; i < str.Length - 7; i++)
{
if (str.Substring(i, 7) == "已停止承载网络")
{
mk = 1;
richTextBox1.Text = "已停止承载网络";
wifikg = 0;
}
}
if (mk == 0) richTextBox1.Text = "停止失败!";
}
catch
{
richTextBox1.Text = "停止失败!";
}
}
int okmingzi = 0;
int okmima = 0;
private void mima_TextChanged(object sender, EventArgs e)
{
if (mima.Text.Length >= 8 && mima.Text.Length <= 12)
{
label1.Text = "Yes";
label1.ForeColor = Color.Green;
okmima = 1;
}
else
{
label1.Text = "No";
label1.ForeColor = Color.Red ;
okmima = 0;
}
} private void mingzi_TextChanged(object sender, EventArgs e)
{
if (mingzi.Text.Length >= 1 && mingzi.Text.Length <= 10)
{
okmingzi = 1;
label2.Text = "Yes";
label2.ForeColor = Color.Green;
}
else
{
okmingzi = 0;
label2.Text = "No";
label2.ForeColor = Color.Red;
}
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(wifikg == 1)
try
{
string mingling = "netsh wlan stop hostednetwork";
string str = InvokeCmd(mingling);
int mk = 0;
for (int i = 0; i < str.Length - 7; i++)
{
if (str.Substring(i, 7) == "已停止承载网络")
{
mk = 1;
richTextBox1.Text = "已停止承载网络";
}
}
if (mk == 0) richTextBox1.Text = "停止失败!";
}
catch
{
richTextBox1.Text = "停止失败!";
}
} private void timer1_Tick(object sender, EventArgs e)
{
if (wifikg == 0)
{
richTextBox2.Text = "wifi未开启,暂无设置信息!";
richTextBox3.Text = "wifi未开启,暂无状态信息!";
}
else
try
{
string mingling = "netsh wlan show hostednetwork";
string str = InvokeCmd(mingling);
int s1 = 0, s2 = 0, s = 0, s3 = 0;
for (int i = 0; i < str.Length - 6; i++)
{
if (str.Substring(i, 6) == "承载网络设置")
s1 = i;
if (str.Substring(i, 6) == "承载网络状态")
s2 = i;
if (s2 != 0 && str.Substring(i, 1) == "\n") s++;
if (s == 7 && s3 == 0) s3 = i;
}
richTextBox2.Text = str.Substring(s1, s2 - s1);
richTextBox3.Text = str.Substring(s2, s3 - s2);
}
catch
{
richTextBox2.Text = "信息更新失败!";
richTextBox3.Text = "信息更新失败!";
}
} private void button4_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Show();
}
}
}

C#-WiFi共享的更多相关文章

  1. PC使用网线上网的条件下,通过PC的Wifi共享提供手机上网教程

    场景和目标 你有一个笔记本(或装有无线网卡的PC),可以通过网线上网,但是没有无线路由器.现在想要通过笔记本的无线网,让手机也能共享wifi上网. 环境 Win7 操作系统.带有无线网卡的PC或笔记本 ...

  2. Window 8.1 开启Wifi共享

    p{padding-left:20px;} Hosted network supported:Yes  支持Wifi共享 命令:netsh wlan set hostednetwork mode=al ...

  3. win7笔记本电脑实现wifi共享

    前提条件:win 7系统,有wifi 同dos命令就可实现wifi共享 第一步: netsh wlan start hostednetwork pause 第二步: netsh wlan set ho ...

  4. python版本wifi共享工具

    原先不知道win7系统也可以当作无线路由器,既然知道了这个东西那么就搞搞了 使用python写的一个wifi共享工具,还不够完善,有些功能还没做(说明:internet共享连接需要手动设置)..... ...

  5. win8开wifi共享无法使用的问题解决办法

    相信现在不少人都安装了windows8操作系统,因为windows8这个全新的操作系统用起来 确实挺强大,包括漂亮的开始屏,但是不得不说这个系统的兼容性还是有待提高,所以win8我的 装了又卸,卸了又 ...

  6. WiFi共享精灵与路由器

    路由器是大家都知晓的.WiFi共享精灵如今也是非常多人在用的. 那么非常多人就有疑问了,都有路由器了,还要WiFi共享精灵干嘛? 我们来比較一下两者的差别. 首先两个都是能够实现共享上网的. 就是两个 ...

  7. Windows 8.1设置WIFI共享以及无法启动承载链接解决方案.

    1.设置WIFI共享方法 2.无法启动承载链接解决方案 1.设置WIFI共享方法 Windows8 windows8.1笔记本wifi热点 wifi共享.快速将笔记本或者台式机的网络共享给手机,平板等 ...

  8. wifi共享精灵2014.04.25.001已经更新,wifi热点中文名走起!

    五一回来后,有个惊喜,wifi共享精灵有了最新动向.不晓得wifi共享精灵是啥的朋友,我来解释下,它就相当于一个无线路由器.说起来,Wifi共享精灵正式版2014.04.25.001(http://w ...

  9. 完毕乔布斯的梦想:一个免费wifi共享的乌托邦

    早在2007年推出iPhone时,乔布斯就提出这种如果:商业区与居民区的wifi路由器全民开放,实现与路人共享网络之便.能够想象,那算是一个wifi共享的乌托邦. 数年过去了,乔布斯的梦想依然没能全然 ...

  10. 简单两行,实现无线WiFi共享上网,手机抓包再也不用愁了

    你是否为WiFi共享而发愁,各个无线共享软件,某某共享精灵,某某免费WiFi,某某共享大师,某某随身WiFi,一个比一个难用,一个比一个私货多,一个比一个广告多,如果装上了它们,你的电脑就基本沦陷了, ...

随机推荐

  1. sanic-jwt 的使用

    Sanic 是基于 Python 的一个支持高并发的异步 web 框架,sanic-jwt 则是针对Sanic 开发的一个基于 PyJWT 封装的 JWT 授权认证模块. sanic-jwt 项目主页 ...

  2. JS(ES6)、Vue.js、node.js

    JS行为(ESMAScript, JSdom, bom)$.ajax() <- (xmlhttpRequest由这个封装来的)  -> axios(vue版)  =  ajax技术jque ...

  3. MySQL深入研究--学习总结(4)

    前言 接上文,继续学习后续章节.细心的同学已经发现,我整理的并不一定是作者讲的内容,更多是结合自己的理解,加以阐述,所以建议结合原文一起理解. 第13章<为什么表数据删除一般,表文件大小不变?& ...

  4. HTB系列之七:Bastard

    出品|MS08067实验室(www.ms08067.com) 这次挑战的是 HTB 的第7台靶机:Bastard 技能收获: PHP Unserilaize CMS Version Identify ...

  5. 基于Docker的MindSpore安装与使用基础介绍

    技术背景 MindSpore是一款新一代AI开源计算框架,其特色在于:创新编程范式,AI科学家和工程师更易使用,便于开放式创新:该计算框架可满足终端.边缘计算.云全场景需求,能更好保护数据隐私:可开源 ...

  6. Flutter,Weex,React Native比较

  7. net start MongoDB 服务没有响应控制功能。 请键入 NET HELPMSG 2186 以获得更多的帮助。

    我在 Windows 电脑上修改了 mongo.cfg 文件后 执行 net start mongodb 的时候,命令行出现了这个报错. 这个报错,有几种情况可以进行排查 1. 你的 mongod 命 ...

  8. C++覆盖,隐藏,重载

    code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...

  9. Java系列教程-SpringMVC教程

    SpringMVC教程 1.SpringMVC概述 1.回顾MVC 1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务 ...

  10. 基于Hive进行数仓建设的资源元数据信息统计:Hive篇

    在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...