Запустите CMD тихо

Я пытаюсь запустить CMD без вывода сообщений, но каждый раз получаю сообщение об ошибке. Может кто-нибудь сказать мне, где я иду не так?

Dim myProcess As Process 
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
myProcess.StartInfo.CreateNoWindow = True 
myProcess.StartInfo.FileName = ("cmd.exe" & CmdStr) 
myProcess.Start() 

CmdStr уже является строкой для выполнения определенных задач, которые я хочу использовать в приложении.

1 ответ

Решение

Я полагаю, ваш cmdStr является строкой с параметрами для CMD.
Если это так, вам нужно использовать свойство Arguments StartInfo.
Вы получаете исключение Null для переменной myProcess, потому что оно никогда не устанавливается новым. Вы можете создать переменную ProcessStartInfo для использования со статическим методом Process.Start и установить для UseShell Execute значение False

Dim startInfo As New ProcessStartInfo("CMD.EXE")
startInfo.WindowStyle = ProcessWindowStyle.Hidden     
startInfo.CreateNoWindow = True 
startInfo.UseShellExecute = False
startInfo.Arguments = CmdStr
Process.Start(startInfo)  

или измените свой код, чтобы добавить

myProcess = new Process() 

перед использованием var myProcess

Другие вопросы по тегам