感谢楼主分享,
我引用楼主的bat代码, 用aardio写了一个简单的界面, 获取到密码后可以复制黏贴了.
代码如下:
[JavaScript] 纯文本查看 复制代码
//RUNAS// import fonts.fontAwesome; import win.ui; /*DSG{{*/ var mainForm = win.form(text="电脑WIFI密码获取工具";right=609;bottom=439) mainForm.add( btnExecute={cls="plus";text="电脑连接过的WIFI密码获取";left=15;top=380;right=286;bottom=425;align="left";bgcolor=-5197169;db=1;dl=1;font=LOGFONT(h=-16);iconStyle={align="left";font=LOGFONT(h=-16;name='FontAwesome');padding={left=20}};iconText='\uF17A';notify=1;textPadding={left=42};z=2}; editResult={cls="edit";left=15;top=13;right=598;bottom=370;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=1} ) /*}}*/ /*按钮皮肤{{*/ mainForm.btnExecute.skin({ background={ default=0xFF8FB2B0; hover=0xFF928BB3; disabled=0xFFCCCCCC; } }); /*}}*/ /*批处理指令字符串{{*/ var batStr = /*** @echo off title 批处理查看所有连接过的WiFi名称和密码 echo. & echo 请用管理员权限运行此批处理,否则可能无法获取到密码 echo. for /f "tokens=3*" %%i in ('netsh wlan show profiles ^| findstr "所有用户配置文件"') do ( call :GetPass %%i %%j ) pause goto :eof :GetPass echo,WiFi : %* setlocal enabledelayedexpansion for /f "delims=" %%a in ('netsh wlan show profile name^="%*" key^=clear ^| findstr "关键内容"') do ( rem echo,%%a set var=%%a set var1=!var:关键内容=密码! set var2=!var1: =! set var3=!var2:^:= : ! echo,!var3! ) echo,========================= endlocal goto :eof ***/ /*}}*/ import process.batch; mainForm.btnExecute.oncommand = function(id,event){ ////优先调用 64 位命令请改为 process.batch.wow64 var prcs = process.batch( batStr ); //开启等待动画 mainForm.btnExecute.disabledText = {'\uF254';'\uF251';'\uF252';'\uF253';'\uF250';text=''} //out 用于接收批处理的全部输出(包含错误输出), err 为错误信息(无错误为 null ) var out,err = prcs.readAll(); //可在参数 @1 中指定匹配模式查找指定字符串 mainForm.editResult.print(out); //关闭动画 mainForm.btnExecute.disabledText = null; } mainForm.show(); win.loopMessage();
编译好的exe和源代码下载
链接:https://pan.baidu.com/s/1aCe4gI_0Ac9mGrQnpClgMg?pwd=b0l3
提取码:b0l3