当前位置: 首页 > article >正文

使用C# 如何获取本机连接的WIFI名称[C# ---1]

前言

楼主最近在写一个WLAN上位机,遇到了使用C#查询SSID 的问题。CSDN上很多文章都比较老了,而且代码过于复杂。楼主自己想了一个使用CMD来获得SSID的方法
C#本身是没有获得WINDOWS网路信息的能力,必须要用系统API,WMI什么的,比较麻烦。其实完全可以用CMD命令,十分简单快捷。
如果对您有用,还请点赞收藏关注,这对我十分重要♪(´▽`)

CMD

netsh wlan show interfaces 

效果:

C:\Users\Basicoperation>netsh wlan show interfaces

系统上有 1 个接口:

    名称                   : WLAN
    说明            : Intel(R) Wi-Fi 6 AX201 160MHz
    GUID                   :******************
    物理地址       : *********************
    界面类型         : 主要
    状态                  : 已连接
    SSID                   : TP-LINK_9FAA
    BSSID                  : *************
    网络类型               : 结构
    无线电类型             : ***********
    身份验证               : WPA2 - 个人
    密码                 :***********
    连接模式        : 配置文件
    频带                   : 2.4 GHz
    通道                : 11
    接收速率(Mbps)         : 54
    传输速率 (Mbps)        : 270
    信号                   : 84%
    配置文件               : TP-LINK_9FAA

那C#就很好写了

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        try
        {
            // 执行CMD命令来获取无线网络接口信息
            Process process = new Process();
            process.StartInfo.FileName = "netsh";
            process.StartInfo.Arguments = "wlan show interfaces";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.CreateNoWindow = true;
            process.Start();

            // 读取命令输出
            string output = process.StandardOutput.ReadToEnd();
            process.WaitForExit();

            // 解析输出以获取SSID
            string ssid = ExtractSsidFromOutput(output);
            if (!string.IsNullOrEmpty(ssid))
            {
                Console.WriteLine("当前连接的SSID是: " + ssid);
            }
            else
            {
                Console.WriteLine("未连接到任何无线网络或无法获取SSID。");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("发生错误: " + ex.Message);
        }
    }

    static string ExtractSsidFromOutput(string output)
    {
        string[] lines = output.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
        foreach (string line in lines)
        {
            if (line.Trim().StartsWith("SSID"))
            {
                // 假设SSID在等号后面,去除前导和尾随空格
                string ssid = line.Split(new[] { ':' }, 2)[1].Trim();
                return ssid;
            }
        }
        return null;
    }
}

运行效果

当前连接的SSID是: TP-LINK_9FAA

如果对您有用,还请点赞收藏关注,这对我十分重要♪(´▽`)


http://www.kler.cn/a/529220.html

相关文章:

  • Mybatis——sql映射文件中的增删查改
  • 微机原理与接口技术期末大作业——4位抢答器仿真
  • 电子电气架构 --- 汽车电子拓扑架构的演进过程
  • 数据分析系列--②RapidMiner导入数据和存储过程
  • 无心剑七绝《深度求索》
  • 数据结构的队列
  • InnoSetup使用教程笔记
  • Anaconda 全面解析:从入门到精通的操作教程
  • MiniMind——跑通项目
  • Java知识速记 == 与equals
  • 截止到2025年2月1日,Linux的Wayland还有哪些问题是需要解决的?
  • 群晖搭建Gitea教程(使用系统自带的postgresql)
  • 用 JavaScript 打造交互式表格:添加与删除行功能
  • Linux文件类型
  • 台账思维和GIS思维在资产管理中的不同模式
  • 深度学习推理的整数量化:原理与实证评估
  • 知识管理系统推动企业知识创新与人才培养的有效途径分析
  • 【玩转全栈】--创建一个自己的vue项目
  • 海外问卷调查之渠道查,企业经营的指南针
  • C语言指针专题五 -- void和const指针
  • 【力扣】15.三数之和
  • 网络编程套接字(下)
  • CSS 样式化表格:从基础到高级技巧
  • 快速提升网站收录:利用网站FAQ页面
  • 人工智能入门课【手写自注意力机制】
  • 【回溯】目标和 字母大小全排列