当我们电脑中连接过大量wifi后, 很多密码我们是记不得的, 那么有没有一种方法可以查看这些曾经连接过的wifi密码信息呢?
以下方式通过调用批处理, 很简单的就实现了获取此密码方法, 我这里给批处理加上界面, 一个简洁的wifi密码查看工具就诞生了.
//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();
上面代码是利用aardio编写的, 你可以自己编译修改, 软件功能不输其他收费工具
编译好的exe和源代码下载
链接:https://pan.baidu.com/s/1aCe4gI_0Ac9mGrQnpClgMg?pwd=b0l3
提取码:b0l3