С# открыть rasphone.exe с аргументами

Вы можете найти мою проблему? Я не могу открыть rasphone.exe с правильными аргументами.

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo();
    proc.FileName = @"C:\windows\system32\cmd.exe";
    proc.Arguments = @"C:\Windows\System32\rasphone.exe -d ""My VPN""";
    System.Diagnostics.Process.Start(proc);
}

Я также пробовал:

Process.Start(@"C:\Windows\System32\rasphone.exe", @" -d ""My VPN"" ");

Or:

System.Diagnostics.Process.Start(@"C:\\Users\\***\\Documents\\VPN Launcher\\VPN Launcher\\VPN Launcher\\startVPN.bat");

В .bat файле:

start "" "C:\Windows\System32\rasphone.exe" -d "My VPN"

Он открывает cmd/.bat, но я не открываю rasphone.exe с правильными аргументами.


person root_id    schedule 09.11.2018    source источник
comment
Почему бы вам не запустить rasphone.exe напрямую? Вам обязательно нужно пройти через командную строку раньше?   -  person Muldec    schedule 09.11.2018
comment
Нет, но это не работает. Я пробовал ( Process.Start(@C:\Windows\System32\rasphone.exe, @ -d My VPN);)   -  person root_id    schedule 09.11.2018
comment
Запускается ли rasphone, когда вы пытаетесь запустить вручную с помощью этой командной строки?   -  person Muldec    schedule 09.11.2018
comment
Да, он также запускается, когда я запускаю его с помощью батника или через командную строку, но он не запускается при отладке   -  person root_id    schedule 09.11.2018
comment
Вы абсолютно уверены, что rasphone не запускается? Я имею в виду, поддерживаете ли вы свое приложение, чтобы убедиться, что запущенный вами процесс продолжает работать?   -  person Muldec    schedule 09.11.2018
comment
Он запускается, но не показывает окно, в котором пользователь может войти в vpn. Он показывает некоторые аргументы, такие как (-a .. -e ... некоторую информацию), но не окно входа в систему.   -  person root_id    schedule 09.11.2018


Ответы (1)


Добро пожаловать в StackOverflow. Как docs сказал, что вам нужно избегать двойных квот с помощью 3 двойных квот:) Я не знаю, почему это обязательно, но это должно работать:

Process.Start(@"C:\Windows\System32\rasphone.exe", "-d \"\"\"My VPN\"\"\"");
person vasily.sib    schedule 09.11.2018
comment
Это шаг вперед :) Но я получаю сообщение: Командная строка для коммутируемой сети с некоторыми аргументами/информацией. Но ничего, чтобы войти. - person root_id; 09.11.2018