#vb.net #parameters #arguments
#vb.net #параметры #аргументы
Вопрос:
Итак, я пытался использовать VB.Net чтобы открыть программу с параметрами, она отлично работает, когда я использую ярлык, но я просто не могу заставить ее работать с VB.Net я думаю, что это как-то связано с параметром, подобным этому «—user =test».
Вот аргументы, и я уже пробовал использовать String.Форматирование()
Dim CMD As New Process
CMD.StartInfo.FileName = "C:test.exe"
CMD.StartInfo.Arguments = "--user=test --pass=test -o test -p 1025 -d0 --verbose -f 60"
CMD.StartInfo.UseShellExecute = False
CMD.StartInfo.RedirectStandardInput = True
CMD.StartInfo.RedirectStandardOutput = True
CMD.StartInfo.CreateNoWindow = False
CMD.Start()
есть идеи?
Комментарии:
1. Пожалуйста, опубликуйте полный код той части вашей программы, которая не работает, вместе с тем, что происходит, когда она не работает.
2. Все части другого кода в порядке, потому что, когда я пробую один параметр, он работает, когда я пробую все эти, он не работает .. и когда я запускаю программу, вместо одного окна с данными появляется пустое окно CMD
3. Я добавил полный код на всякий случай
4. Удалите два оператора, которые назначают RedirectStandardXxx, и повторите попытку. Кстати, странный стиль параметра как с двумя тире, так и с одним.
Ответ №1:
Попробуйте это, retval будет выводом команд echo на консоль. Я полагаю, вы хотите зафиксировать это при перенаправлении std:
Dim CMD As New Process
CMD.StartInfo.FileName = "C:test.exe"
CMD.StartInfo.Arguments = "--user=test --pass=test -o test -p 1025 -d0 --verbose -f 60"
CMD.StartInfo.UseShellExecute = False
CMD.StartInfo.RedirectStandardInput = True
CMD.StartInfo.RedirectStandardOutput = True
CMD.StartInfo.CreateNoWindow = True
CMD.Start()
Dim retval As String = CMD.StandardOutput.ReadToEnd
CMD.WaitForExit()
Ответ №2:
Создайте экземпляр вашего процесса следующим образом:
Dim myProcess As New System.Diagnostics.Process()
не нравится:
Dim myProcess As New Process()
Это сработает.