文章目录

一、如何获取电脑上Wi-Fi密码二、如何代码实现自动获取(C#)1.启用CMD命令窗口进程2.输入相应命令获取WIFI密码

软件运行效果

如果你已经连接了一个WiFi,但是不知道该网络的密码,那么要找到该网络的密码并不太难,可以通过以下方法进行获取。

一、如何获取电脑上Wi-Fi密码

方法1:通过已连接Wi-Fi的电脑查看:

打开电脑右下角的无线网图标,点击进入网络连接状态框。选择需要查看的无线网络连接,右键点击选择“属性”。在属性窗口中,选择“安全”选项卡,勾选“显示字符”,然后在密码框中可以看到以数字显示的Wi-Fi密码。

方法2:通过使用命令提示符

使用Win+R打开CMD命令运行窗口在窗口中输入以下命令获取用户配置文件

netsh wlan show profiles

3. 根据相应的Wi-Fi名称获取指定的Wi-Fi密码(用实际WIFI名称替换命令中"xxx")

netsh wlan show profiles name=xxx key=clear

二、如何代码实现自动获取(C#)

1.启用CMD命令窗口进程

关键代码如下:

public static bool GetCmdResult(string cmd, out string strResult)

{

Process process = new Process();

strResult = "";

try

{

process.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动

process.StartInfo.CreateNoWindow = true; //是否在新窗口中启动该进程的值 (不显示程序窗口)

process.StartInfo.RedirectStandardInput = true; // 接受来自调用程序的输入信息

process.StartInfo.RedirectStandardOutput = true; // 由调用程序获取输出信息

process.StartInfo.RedirectStandardError = true; //重定向标准错误输出

process.StartInfo.FileName = "cmd.exe";

process.Start(); // 启动程序

process.StandardInput.WriteLine(cmd); //向cmd窗口发送输入信息

process.StandardInput.AutoFlush = true;

// 前面一个命令不管是否执行成功都执行后面(exit)命令,如果不执行exit命令,后面调用ReadToEnd()方法会假死

process.StandardInput.WriteLine("exit");

StreamReader reader = process.StandardOutput; //获取exe处理之后的输出信息

string curLine = reader.ReadLine(); //获取错误信息到error

string strTmp = "";

while (!reader.EndOfStream)

{

if (!string.IsNullOrEmpty(curLine))

{

strTmp += curLine;

strTmp += "\r\n";

}

curLine = reader.ReadLine();

}

reader.Close(); //close进程

process.WaitForExit(); //等待程序执行完退出进程

process.Close();

strResult = strTmp;

return true;

}

catch (Win32Exception e)

{

strResult = e.Message;

return false;

}

return false;

}

2.输入相应命令获取WIFI密码

关键代码如下:

// 获取用户名

bool bRet = Cmd.GetCmdResult("netsh wlan show profiles", out strRes);

if (bRet)

{

string[] strArray = strRes.Split('\r');

foreach (string strLine in strArray)

{

if (strLine.Contains("所有用户配置文件"))

{

string[] strTmp = strLine.Split(':');

if (strTmp.Length == 2)

{

WifiInfo info = new WifiInfo();

info.strName = strTmp[1].Trim();

listWifiInfo.Add(info);

}

}

}

for (int i = 0; i < listWifiInfo.Count; i++)

{

listWifiInfo[i].iIndex = i + 1;

if (Cmd.GetCmdResult($"netsh wlan show profiles name=\"{ listWifiInfo[i].strName}\" key=clear", out strRes))

{

string[] strArrayPWD = strRes.Split('\r');

foreach (string strLine in strArrayPWD)

{

if (strLine.Contains("关键内容"))

{

string[] strTmp = strLine.Split(':');

if (strTmp.Length == 2)

{

listWifiInfo[i].strPWD = strTmp[1].Trim();

}

break;

}

}

}

}

return true;

}

之后将数据在界面上显示出来即可。

软件运行效果

软件运行效果如下图所示: 软件运行程序和相应源码已上传,有需要可自行下载。 软件下载 源码下载

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: