一个代码看清自己的wifi密码:wifi密码连接历史的工具
一个代码看清自己的wifi密码:wifi密码连接历史的工具
我这里利用aardio的bat批处理混合编程示例修改了一个界面 获取到wifi密码后 显示到edit编辑框内 后面就可以方便的复制了.
源码比较简单 代码如下:
//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();
原理上 就是利用bat批处理获取电脑内所有记录 然后显示到文本框.
本文首发: htmlayout.cn/t/21394