Вниз
Скачать: CL | DM;

Как передать нажатие клавиши другой программе   Найти похожие ветки 

 
oleg2   (2002-09-18 19:03) [0]

Уважаемые мастера, подскажите как мне передать нажатие последовательности кнопок на клавиатуре другой программе?


 
Song ©   (2002-09-18 19:42) [1]

SendMessage(),keybd_event()


 
oleg2   (2002-09-19 10:23) [2]

Попробовал вот такую конструкцию:
SendMessage(MyWnd, WM_KEYDOWN, Ord(VK_F1),1);
- работать не хочет, а вот что касается:
SendMessage(MyWnd, WM_CLOSE, 0,0); - работает чудесно.
В чем тут может быть закавыка?


 
Codec   (2002-09-23 17:20) [3]


> Попробовал вот такую конструкцию:
> SendMessage(MyWnd, WM_KEYDOWN, Ord(VK_F1),1);

клавишу нужно не только "нажать", но и "отжать" :-) - WM_KEYUP

А keybd_event() передаёт нажатия клавиш только в АКТИВНОЕ окно (если я ничего не путаю :-)) ).
Удачи!



 
Song ©   (2002-09-23 17:27) [4]

Работать не хочет потому что вероятно всего у Вас MyWnd - дискриптор прилоожения, а не дискриптор того окна, которое эти клавиши на самом деле обрабатывает. Т.е. другими словами, если применительно к блокноту,
то SendMessage(FindWindow(nil,"Блокнот"),WM_KEYDOWN,Ord("a"),1) - ничего не даст. Чтобы буква действительно нажалась и показалась в поле ввода, нужно посылать её именно в тот контрол, где она и должна отображаться:
SendMessage(GetWindow(FindWindow(nil,"Блокнот"),GW_CHILD),WM_KEYDOWN,Ord("a"),1);

Если это всё непонятно, значит вероятно Вам ещё рано работать с сообщениями.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-11308
Sharik_212
2002-10-23 17:40
2002.11.04
Как программно открыть ветку в TreeView?


3-11040
weak
2002-10-14 13:09
2002.11.04
ADO и параметры


1-11268
Призрак
2002-10-22 18:50
2002.11.04
Свой текст в TWebBrowser


14-11485
Undert
2002-10-16 18:45
2002.11.04
Приколитесь ИЗВРАТУ! 3D Движок на JavaScript


3-11052
ACR
2002-10-15 02:00
2002.11.04
ACCESS




   Наверх