获取wifi密码
最近有个任务,需要显示Wifi信息(主要是名称和SSID),这个还不简单吗,直接调用同事(我们的系统设置领域专家-旺基 拚忘 - 博客园 (cnblogs.com))写的Uwp 接口不就好了,呵呵 可以获取大部分信息,但是没有Wifi的SSID。查阅资料发现还没有直接能够获取SSID的接口,怎么办??? 和同事思考一翻,拿profile文件做文章。 主要是通过 控制变量法,具体实现如下:
随笔写了一个供参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | private static string Password( string wiFIName) { string netshProfile = $ "wlan show profile name = {wiFIName}" ; //不带SSID密码 string netshProfilePassword = $ "wlan show profile name = {wiFIName} key = clear" ; //带SSID密码 string profile = NetshProcess(netshProfile); string profilePassword = NetshProcess(netshProfilePassword); var profileArray = FilterProfile(profile); var profilePasswordArray = FilterProfile(profilePassword); string password = string .Empty; int yeirdIndex = Math.Min(profilePasswordArray.Count, profileArray.Count); for ( int i = 0; i < yeirdIndex; i++) { if (profilePasswordArray[i] == profileArray[i]) continue ; password = profilePasswordArray[i].Split( new char [] { ':' , ':' })[1]; break ; } return password; } private static List< string > FilterProfile( string profile) { var profileArray = profile.Split( new char [] { '\r' , '\n' }).Reverse().ToList(); for ( int i = profileArray.Count - 1; i >= 0; i--) { if ( string .IsNullOrWhiteSpace(profileArray[i])|| !profileArray[i].Contains( ":" ) && !profileArray[i].Contains( ":" )) profileArray.RemoveAt(i); } return profileArray; } public static string NetshProcess( string args) { using ( var p = new Process()) { p.StartInfo = new ProcessStartInfo( "netsh" , args); p.StartInfo.UseShellExecute = false ; p.StartInfo.RedirectStandardOutput = true ; p.StartInfo.CreateNoWindow = true ; p.Start(); string output = p.StandardOutput.ReadToEnd(); p.WaitForExit(); return output; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗