Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: проблема с WScript.Shell.Exec
Показать сообщение отдельно

Пользователь


Сообщения: 70
Благодарности: 19

Профиль | Отправить PM | Цитировать


После прочтения вот этого
Цитата:
Синтаксис:

Exec(<Command>)

Назначение: создаёт новый дочерний процесс (т.е. процесс с теми же переменными среды), который запускает заданное консольное приложение. Возвращается объект "WshScriptExec", который позволяет контролировать ход выполнения запущенного приложения и обеспечивает доступ к потокам StdIn, StdOut и StdErr этого приложения.

Параметры:

<Command> - строка, командная строка запуска приложения.

Описание: с помощью данного метода можно запускать и графические оконные приложения. В этом случае возвращаемый объект "WshScriptExec" полезен тем, что позволяет получить идентификатор запущенного процесса, который можно использовать, например, для активизации приложения с помощью метода AppActivate.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("nslookup 127.0.0.1")
WScript.Sleep 7000
Set TextStream = WshExec.StdOut
Str = vbNullString
While Not TextStream.AtEndOfStream
Str = Str & Trim(TextStream.ReadLine()) & vbCrLf
Wend
MsgBox Str

Другой пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
WshShell.AppActivate(WshExec.ProcessID)
WshShell.SendKeys "0123456789"
мне кажется, что то, что вы ожидаете увидеть, выводится в этот самый stdout, который надо ещё перехватывать и обрабатывать. Так что тут надо искать другие пути.

-------
Разумный человек приспосабливается к миру, неразумный пытается приспособить мир к себе. Поэтому прогресс делают люди неразумные. (Дж. Б. Шоу)

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:00, 12-11-2013 | #8

Название темы: проблема с WScript.Shell.Exec