14.07.2004, 09:35 | #1 |
Участник
|
winapi
Может спрошу глупость.
Как перехватить поток вывода на экран внешней программы. Например: ... winapi::shellexecute("some.exe", "-some-parameter", ....); ... Посля этого получить результат этой программы. Либо пример для createprocess(......, StartupInfo, ProcessInfo); Что кормить из аксапты в указанные параметры (какой тип передавать)? И как после открыть созданный процесс на чтение? (пример для Аксапты плз.) |
|
14.07.2004, 09:49 | #2 |
Участник
|
Есть исходник на delphi:
http://cvs.sourceforge.net/viewcvs.p...=1.3&view=auto Так же можно воспользоваться этим (но поребуется Wsh 5.6): http://msdn.microsoft.com/library/de...execobject.asp |
|
15.07.2004, 10:19 | #3 |
Moderator
|
Привет !
Через winapi::shellexecute не получится. Надо использовать CreateProcess. Дело в том, что эта функция не импортирована в Аксапте, как и ряд других, которые будут нужны - значит придется делать это самим. Кроме того, CreateProcess принимает структуру данных, которую еще надо описать в Аксапте, что тоже потребует несколько итераций Не скажу, что это невозможно, но я бы сказал, что муторно и долго. Может устроит вариант с запуском: winapi::shellexecute("some.exe > file.txt") и переадресацией вывода в текстовый файл, а также последующим чтением этого файла и отображением его содержимого ? |
|
15.07.2004, 11:17 | #4 |
Участник
|
а не
"%comspec% /C some.exe >file.txt" ? (разумеется с раскрытием переменных окружения) |
|
15.07.2004, 12:12 | #5 |
Участник
|
Цитата:
Изначально опубликовано Андре
Цитата:
Может устроит вариант с запуском: winapi::shellexecute("some.exe > file.txt") и переадресацией вывода в текстовый файл,
Читаем MSDN http://msdn.microsoft.com/library/de...teinfo_str.asp Цитата:
а также последующим чтением этого файла и отображением его содержимого ? [/B]
Если локально - те же грабли с правами (либо изначально искать каталог пользователя). Не надо промежуточных результатов! Нужна структура под lpStartUpInfo для остальных указателей аналогично можно написать |
|
15.07.2004, 16:02 | #6 |
Участник
|
Тема закрыта
Всем спасибо.
Тема закрыта. |
|