写的一个简单启动关闭WiFi的类:具体如下

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics; namespace MyWifi
{
public class WiFi
{
#region 单例 //private static WiFi instance = null;
//private static object objLock = new object(); //private WiFi()
//{ } //public static WiFi Singlon()
//{
// if (instance == null)
// {
// lock(objLock)
// {
// if (instance == null)
// {
// instance = new WiFi();
// }
// }
// }
// return instance;
//} #endregion private static string executeCmd(string command)
{
Process process = new Process
{
StartInfo = { FileName = " cmd.exe ", UseShellExecute = false, RedirectStandardInput = true, RedirectStandardOutput = true, CreateNoWindow = true }
};
process.Start();
process.StandardInput.WriteLine(command);
process.StandardInput.WriteLine("exit");
process.WaitForExit();
string str = process.StandardOutput.ReadToEnd();
process.Close();
return str;
} /// <summary>
/// 共享网络
/// </summary>
/// <param name="wifiName">WiFi名称</param>
/// <param name="wifiPassword">WiFi密码(不少于8位)</param>
/// <returns>"新建共享网络成功!"||"搭建失败,请重试!"</returns>
public static string AllowWiFi(string wifiName, string wifiPassword)
{
string createWifiRet = "搭建失败,请重试!";
try
{
string command = "netsh wlan set hostednetwork mode=allow ssid=" + wifiName.Trim() + " key=" + wifiPassword.Trim();
string cmdExecRet = executeCmd(command);
createWifiRet = cmdExecRet;
if (((createWifiRet.IndexOf("承载网络模式已设置为允许") > -) && (createWifiRet.IndexOf("已成功更改承载网络的 SSID。") > -)) && (createWifiRet.IndexOf("已成功更改托管网络的用户密钥密码。") > -))
{
createWifiRet = "新建共享网络成功!";
}
return createWifiRet;
}
catch(Exception e)
{
return createWifiRet + "\n\r" + e.Message;
}
} /// <summary>
/// 禁止共享网络
/// </summary>
/// <returns>disallowWifiRet = "禁止共享网络成功!"||"操作失败,请重试!"</returns>
public static string DisallowWifi()
{
string disallowWifiRet = "操作失败,请重试!";
try
{
string command = "netsh wlan set hostednetwork mode=disallow";
if (executeCmd(command).IndexOf("承载网络模式已设置为禁止") > -)
{
disallowWifiRet = "禁止共享网络成功!";
}
return disallowWifiRet;
}
catch(Exception e)
{
return disallowWifiRet + "\n\r" + e.Message;
}
} /// <summary>
/// 启动承载网络(WiFi)
/// </summary>
/// <returns>"已启动承载网络!"||"启动承载网络失败,请尝试新建网络共享!"</returns>
public static string StartWiFi()
{
string startWifiRet = "启动承载网络失败,请尝试新建网络共享!";
try
{
if (executeCmd("netsh wlan start hostednetwork").IndexOf("已启动承载网络") > -)
{
startWifiRet = "已启动承载网络!";
}
return startWifiRet;
}
catch(Exception e)
{
return startWifiRet + "\n\r" + e.Message;
}
} /// <summary>
/// 停止承载网络(WiFi)
/// </summary>
/// <returns>"已停止承载网络!"||"停止承载网络失败!"</returns>
public static string StopWiFi()
{
string stopWifiRet = "停止承载网络失败!";
try
{
if (executeCmd("netsh wlan stop hostednetwork").IndexOf("已停止承载网络") > -)
{
stopWifiRet = "已停止承载网络!";
}
return stopWifiRet;
}
catch(Exception e)
{
return stopWifiRet + "\n\r" + e.Message;
}
}
}
}

C#:WiFi的更多相关文章

  1. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  2. 很多人很想知道怎么扫一扫二维码就能打开网站,就能添加联系人,就能链接wifi,今天说下这些格式,明天做个demo

    有些功能部分手机不能使用,网站,通讯录,wifi基本上每个手机都可以使用. 在看之前你可以扫一扫下面几个二维码先看看效果: 1.二维码生成 网址 (URL) 包含网址的 二维码生成 是大家平时最常接触 ...

  3. 乐乎环球WiFi

    乐乎环球WiFi招商加盟 随身WiFi设备 乐乎环球Wifi是由北京蔚蓝创智科技有限公司研发的产品,是一款可以在全球100多个国家和地区实现免漫游4G高速上网的随身WiFi设备.和普通MiFi设备相比 ...

  4. 为什么房间的 Wi-Fi 信号这么差

    最近把家里主卧整成了个小影院,由于之前房子装修时网线端口与电源插口布置太少,导致家庭网络架设变得麻烦起来,最后终于通过「无线中继」技术达到了全屋满格 Wi-Fi 的效果. 在 Wi-Fi 架设过程中, ...

  5. win10更新系统后wifi连接不上了怎么解决?

    遇到了一个小问题,由于更新了一下win10,发现wifi不能用了,以为是wifi密码错了,选择忘记密码试了两次,又试了不同的wifi都不行,发现网卡无线驱动也没事,在网上百度了好久发现说的方法都没用, ...

  6. 树莓派 连接wifi与路由器ip绑定

    先推荐几个手机软件 在酷安网里应该能找到 1.JuiceSSH  橘子ssh软件  手机连上路由器 就可以控制局域网内的树莓派 2.VNC Viewer  远程桌面软件VNC 也是连接局域网的树莓派 ...

  7. DOS下windows系统查看wifi密码

    DOS下windows系统查看wifi密码 首先,按win+R键,win键如下 弹出框中输入cmd 在弹出界面输入 netsh wlan show profiles 你可以看到你链接过的所有wifi名 ...

  8. DOS下命令符开启wifi无internet访问解决办法

    先按win+R 输入cmd netsh wlan set host mode=allow ssid=nothing key=323435435 (ssid后面的可以任意,key后面最少8个字符) 我的 ...

  9. android 获取网络类型名称2G 3G 4G wifi

    首先工程Manifest文件要引用: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ...

  10. 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制

    安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制 socket 连接采用流的方式进行发送接收数据,采用thread线程的方式. 什么是线程?  详细代码介 ...

随机推荐

  1. RAID讲解

    RAID定义 RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘, ...

  2. oc 正则图片<img /> 标签

    -(NSString *)getImageAttributeValue:(NSString *)content attributeKey:(NSString *)key { NSString *reg ...

  3. SQL2008 R2 SP3中使用pivot实现行转列

    同事遇到一个问题,怎么实现行转列,参考了别人的示例,我是这样解决的. 创建数据源: create table #temp ( objectid int, sitename ), cities ), p ...

  4. 《30天自制操作系统》06_day_学习笔记

    harib03a: 内容没有变化 :P109 从这里开始,代码开始工程化了. 将原本300多行的bootpack.c分割成了三部分: graphic.c      : 用来处理界面图像 dsctbl. ...

  5. C++Primer 第十一章

    //1.关键容器支持高效的关键字查找和访问. map 关联数组:保存关键字-值对.通过关键字来查找值. set 关键字即值,即只保存关键字的容器. multimap 关键字可重复出现的map mult ...

  6. 转:python字符串/元组/列表/字典互转

    #-*-coding:utf-8-*-  #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...

  7. Subversion under Linux [Reprint]

    一.安装 yum install subversion 二.配置 本系统采用为每个项目单独建一版本库的策略.配置文件,密码文件,访问控制文件等都放在版本库的conf目录下. 所以每次开始一个新项目都必 ...

  8. java程序运行时内存分配详解 (转)

    转自:http://www.tuicool.com/articles/uU77v2 一.  基本概念 每运行一个java程序会产生一个java进程,每个java进程可能包含一个或者多个线程,每一个Ja ...

  9. linux c

    #include <stdio.h>#include <string.h>#include <strings.h> int main(){    char buf[ ...

  10. spark standalone zookeeper HA部署方式

    虽然spark master挂掉的几率很低,不过还是被我遇到了一次.以前在spark standalone的文章中也介绍过standalone的ha,现在详细说下部署流程,其实也比较简单. 一.机器 ...