Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.014 c
8-9925
Aleksei
2002-02-25 00:28
2002.07.04
Помогите с SF2


3-9692
AlexA
2002-06-08 16:58
2002.07.04
IBQuery2.UpdatesPending=true


6-9938
Jazzy$
2002-04-23 10:27
2002.07.04
Как зная только имя пользователя получить его домашний какталог.


1-9886
alext
2002-06-20 15:48
2002.07.04
Коды стрелок?


1-9858
Exploited
2002-06-20 16:03
2002.07.04
Курсоры.