Запустите 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