Я только что снова начал использовать C# и столкнулся с ошибкой/проблемой при попытке запустить процесс с помощью командной строки.
Я пытаюсь запустить/открыть экранную клавиатуру по умолчанию из Windows с помощью командной строки. Однако после выполнения osk.exe окно командной строки все еще открыто. После закрытия окна командной строки вручную, нажав кнопку x, и попытки снова нажать кнопку, чтобы выполнить код, командная строка закроется после открытия osk.exe, как и должно быть.
Вот код, который я пытался запустить:
Process.Start(Path.Combine(Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System)).FullName, "Sysnative", "cmd.exe", "/c osk.exe ; exit");
Я получил этот код из этого веб-сайт
Я даже пытался запустить другую строку, чтобы убить всю открытую командную строку с кодом ниже. Но после выполнения открывается другая командная строка, которая никогда не закрывается автоматически....
System.Diagnostics.Process.Start("CMD.exe", "taskkill /IM cmd.exe");
Я попытался вручную запустить в командной строке, чтобы увидеть, есть ли ошибки в моей командной строке Windows, но она работает нормально.
Я просто хочу открыть экранную клавиатуру при нажатии кнопки без сохранения открытой командной строки и без изменения типа платформы моего приложения (я пытался сделать это раньше, и это испортило большинство моих соединений OLEDB).
Любые ответы и предложения высоко ценятся. Кроме того, я очень извиняюсь за мой плохой английский.
Path.Combine
, а не только те части, которые составляют путь к исполняемому файлу. Вы пробовалиProcess.Start(Path.Combine(Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System)).FullName, "Sysnative", "cmd.exe"), "/c osk.exe");
? - person Rufus L   schedule 05.07.2020