Как я называю команду оболочки Windows с помощью VB6?

попробуйте изменить URL вашего продукта, сделать его другим

10
задан Ray Vega 14 November 2008 в 18:05
поделиться

5 ответов

Вот то, как Вы делаете это:

Shell "cmd echo foo", vbNormalFocus 
12
ответ дан 3 December 2019 в 14:18
поделиться

Я всегда использовал метод Выполнения объекта wshShell, который доступен после ссылки на Windows Script Host Object Model в проекте:

Dim shell As wshShell
Dim lngReturnCode As Long
Dim strShellCommand As String

Set shell = New wshShell

strShellCommand = "C:\Program Files\My Company\MyProg.exe " & _
   "-Ffoption -Ggoption"

lngReturnCode = shell.Run(strShellCommand, vbNormalFocus, vbTrue)

Вы получаете ту же функциональность как нормальный оператор Shell, но заключительный параметр позволяет Вам решить, запустить ли покрытую оболочкой программу синхронно. Вышеупомянутый вызов, с vbTrue, синхронен. Используя vbFalse запускает программу асинхронно.

И, как отмечено в предыдущих ответах, необходимо выполнить командный процессор с переключателем "/c" для выполнения внутренних команд, как "нечто эха" от вопроса. Вы отправили бы "cmd/c нечто эха" к методу Выполнения.

9
ответ дан 3 December 2019 в 14:18
поделиться

Shell и ShellExecute?

http://msdn.microsoft.com/en-us/library/aa242087.aspx

Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)   ' Run Calculator.
7
ответ дан 3 December 2019 в 14:18
поделиться

комбинация всех

Shell Environ("COMSPEC") & " /c echo foo", vbNormalFocus

необходимо думать в расширении переменной среды COMSPEC, если Вы хотите поддерживать более ранние системы как окна 9x или меня.

Можно также получить идентификационное использование процесса

pid = Shell(Environ("COMSPEC") & " /c echo foo", vbNormalFocus)
4
ответ дан 3 December 2019 в 14:18
поделиться
Shell "cmd /c echo foo"
4
ответ дан 3 December 2019 в 14:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: