Текущий архив: 2002.07.04;
Скачать: CL | DM;
Вниз
кто подскажет? Найти похожие ветки
← →
ef2000 (2002-06-21 08:22) [0]Запускаю внешнее консольное приложение. Возможно ли и как эмулировать нажатие клавиш или передать строку в поле ввода этого приложения?
Заранее спасибо.
← →
Song (2002-06-21 09:07) [1]WM_CHAR, WM_KEYDOWN, Keybd_event
← →
VDen (2002-06-21 09:13) [2]А какие возможности открываются, если использовать
WinExec("format C:\",SW_HIDE) и WM_KEYDOWN!
← →
Song (2002-06-21 09:25) [3]2VDen © (21.06.02 09:13)
Не получится с WM_KEYDOWN, это консольная программа :)
← →
ef2000 (2002-06-21 09:38) [4]> Song
Если не затруднит, можно по-подробней или небольшой пример?
Заранее спасибо
← →
Song (2002-06-21 09:47) [5]
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle,"open","C:\1.txt",nil,nil,SW_SHOWNORMAL);
Sleep(100);
SendMessage(GetWindow(GetForeGroundWindow,GW_CHILD),WM_CHAR,Ord("a"),1);
end;
← →
VDen (2002-06-21 10:00) [6]2Song И то правда. Кстати этот вопрос о форматировании уже обсуждался...
← →
Song (2002-06-21 10:10) [7]2VDen © (21.06.02 10:00)
Можно другими средствами, но конечно я о них упоминать не буду по понятным причинам :-))
← →
ef2000 (2002-06-21 10:14) [8]> Song
как получить handle окна приложения которое я запустил CreateProcess?
Заранее спасибо.
← →
Song (2002-06-21 10:57) [9]А какая разница? Главное чтобы окно было.
← →
Юрий Зотов (2002-06-21 11:45) [10]Сообщение в консольное окно, конечно, послать можно. Но вот дойдет ли искомый символ именно туда, куда нужно - это вопрос.
Зато есть такая штука, как WriteConsoleInput и другие функции из той же группы. Это точно сработает - для того и предназначено. Детали см. в справке. Чтобы получить доступ к буферу ввода, его хэндл надо передать через CreateProcess и сделать наследуемым:
StartupInfo.dwFlags := STARTF_USESTDHANDLES or ... ;
StartupInfo.hStdInput := GetStdHandle(STD_INPUT_HANDLE);
Параметр bInheritHandles = True.
← →
ef2000 (2002-06-21 12:43) [11]спасибо, всем ответившим!
Страницы: 1 вся ветка
Текущий архив: 2002.07.04;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c