Команда netsh с использованием C#

Я хочу создать приложение C# для создания сети WLAN. В настоящее время я использую netsh, используя командную строку. Мое приложение должно сделать это в нажатие кнопки. Вот команда, которую я использую в командной строке в режиме администратора: "netsh wlan set hostednetwork mode=allow ssid=sha key=12345678", после чего я ввожу "netsh wlan start hostednetwork". Когда я делаю это, я могу создать локальную сеть Wi-Fi. В C# я закодировал как ниже

private void button1_Click(object sender, EventArgs e)
{
     Process p = new Process();
     p.StartInfo.FileName = "netsh.exe";
     p.StartInfo.Arguments = "wlan set hostednetwork mode=allow ssid=sha key=12345678"+"netsh wlan start hostednetwork";            
     p.StartInfo.UseShellExecute = false;
     p.StartInfo.RedirectStandardOutput = true;
     p.Start();                       
}

1 ответ

Решение

Вы не должны делать это: +"netsh wlan start hostednetwork" к аргументам первого процесса. Это будет означать, что вы печатаете это на консоли:

netsh wlan set hostednetwork mode=allow ssid=sha key=12345678netsh wlan start hostednetwork

Вместо этого создайте новый процесс для второй строки:

private void button1_Click(object sender, EventArgs e)
{
     Process p1 = new Process();
     p1.StartInfo.FileName = "netsh.exe";
     p1.StartInfo.Arguments = "wlan set hostednetwork mode=allow ssid=sha key=12345678";            
     p1.StartInfo.UseShellExecute = false;
     p1.StartInfo.RedirectStandardOutput = true;
     p1.Start();

     Process p2 = new Process();
     p2.StartInfo.FileName = "netsh.exe";
     p2.StartInfo.Arguments = "wlan start hostednetwork";            
     p2.StartInfo.UseShellExecute = false;
     p2.StartInfo.RedirectStandardOutput = true;
     p2.Start();
}
Другие вопросы по тегам