Форум: "WinAPI";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Внизisql.exe или как выполнить команду в консольном приложении... ? Найти похожие ветки
← →
Hmm (2004-10-13 19:52) [0]Я пытаюсь из своего приложения запустить другую, консольную программу (isql.exe - может кто сталкивался, входит в пакет IB 6.x) и выполнить в ней команду, например help (есть тама такая).
Команды можно вводить непосредственно в окно этой программки сразу после запуска.
Вот, что делаю Я:
shellexecute(handle,nil,"c:\isql.exe" ,"help",nil,sw_restore);
(собственно, пробовал также createprocess и winexec... результат тот же)
программа ругается на то, что не сушествует такого файла(!!!) HELP =( Видимо я что-то не так делаю, вопрос что ?
Другими словами: как передать запушенному консольному приложению НЕ путь к файлу (для открытия), а именно команду (вписать текст в окно приложения)?
ЗЫ: Заранее спасибо за ответы.
← →
Jel © (2004-10-13 19:58) [1]Если программа не пердусматривает этого явно (как в твоем случае) при создании процесса можно переопределить для него стандартный поток ввода (и вывода если нужно) и убедившись, что процесс стартовал вывести в этот поток нужный текст (help).
← →
Hmm (2004-10-13 20:08) [2]каким образом..?! какой функцией (набором функций) можно переобпределить этот самый поток ввода, и далее, каким образом вывести этот текст (help)?
← →
homosapienz (2004-10-13 20:15) [3]Тоже давно интересуюсь этой проблемой, дайте пожалуйста рабочий код взаимодействия с иоей программы с консольной.
Там вроде нужно через CreateProcess а дальше как то через Pipe
(или что-то типа того). Пожалуйста дайте пример.
← →
Jel © (2004-10-13 21:15) [4]Посмотри этот пример http://delphibase.endimus.ru/?action=viewfunc&topic=winappctrl&id=10317
Он читает вывод консольного приложения, но после незначительной творческой переработки может отправлять и ввод. Принцип там показан, остальное дело техники.
← →
homosapienz (2004-10-13 22:26) [5]Jel, Спасибо это уже кое что, но не совсем понятно как работать в диалоговом режиме? Допустим я ввожу команду ftp она требует ввести какие то данные. Так как мне отловить событие ожидания ввода, тем более что моя программа подвисает ожидая завершения ftp? И как поддерживать сессию приглашение-ввод? может есть мысли?
← →
homosapienz (2004-10-19 22:27) [6]Мастера помогите может кто знает?
← →
Polevi © (2004-10-20 11:32) [7]FAQ на этом сайте
← →
Анонимщик © (2004-10-20 12:17) [8]Попробуй подавать не просто строку "isql.exe", а, например, вот такую:
"isql -i simpleVDB1.sql"
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c