Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

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

 
Ик сик   (2003-04-03 15:23) [0]

Как послать элементу управления чужой проги сообщение что нажата клавиша?


 
Style   (2003-04-03 15:28) [1]

keyb_event :)


 
Style   (2003-04-03 15:29) [2]

keybd_event(VK_UP,10,0,0); нажать кнопку вверх
keybd_event(VkScanKey("a"),10,0,0); нажать кнопку "a"


 
Игорь Шевченко ©   (2003-04-03 15:32) [3]


>элементу управления чужой проги сообщение

PostMessage(Hэлементуправлениячужойпроги, WM_KEYDOWN, кодклавиши, ...)
PostMessage(Hэлементуправлениячужойпроги, WM_KEYUP, кодклавиши, ...)


 
Ик сик   (2003-04-03 15:38) [4]

А что значит hardware scan code (в твоем примере 10)?
Как ее посылать через sendmessage?


 
Ик сик   (2003-04-03 15:40) [5]




> Игорь Шевченко

Там дикие параметры, я не пойму как ими пользоваться
KeyData

Value of lParam. Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table:

Value Description
0-15 Specifies the repeat count. The value is the number of times the keystroke is repeated as a result of the user holding down the key.
16-23 Specifies the scan code. The value depends on the original equipment manufacturer (OEM).
24 Specifies whether the key is an extended key, such as the right-hand ALT and CTRL keys that appear on an enhanced 101- or 102-key keyboard. The value is 1 if it is an extended key; otherwise, it is 0.
25-28 Reserved; do not use.
29 Specifies the context code. The value is always 0 for a WM_KEYDOWN message.
30 Specifies the previous key state. The value is 1 if the key is down before the message is sent, or it is 0 if the key is up.
31 Specifies the transition state. The value is always 0 for a WM_KEYDOWN message.


 
Игорь Шевченко ©   (2003-04-03 15:43) [6]

Ик сик (03.04.03 15:40)

Посмотри, как это сделано в исходниках VCL, к примеру


 
Ик сик   (2003-04-03 15:48) [7]

А как использовать keybd_event, ведь там не параметра handle?
Как ее послать конкретному объекту?


 
Ик сик   (2003-04-03 16:11) [8]

Плиз...


 
Songoku ©   (2003-04-03 17:00) [9]

procedure UPressKey(key:byte);
begin
keybd_event(key, Lo(MapVirtualKey(key,0)) , KEYEVENTF_EXTENDEDKEY or 0, 0 );
keybd_event(key, Lo(MapVirtualKey(key,0)) , KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
end;

как пользоватся:
UPressKey(Ord("a")) или UPressKey(Ord("М"))
UPressKey(VK_LEFT) или UPressKey(VK_F6)


 
Songoku ©   (2003-04-03 17:11) [10]

Удалено модератором
Примечание: Для этого есть help


 
Ик сик   (2003-04-03 17:20) [11]

Ок, народ я просто сразу не врубился что нужно сначала активизировать элемент управления, а потом keybd_event

Спасибо всем большое.



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

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
3-2752
АТ
2003-05-07 04:38
2003.06.02
Помогите подключиться к Exel через ADO


14-3068
DeMoN_Astra
2003-05-11 01:16
2003.06.02
Почта-indy-idMessage


3-2783
Юра
2003-05-14 11:08
2003.06.02
Открытие dbf файла, если нет файла с ключевый индексом


1-2912
delpher_gray
2003-05-22 20:39
2003.06.02
Как сделать копию экрана, уменьшеную в два раза !?


11-2833
antonioxxx
2002-09-04 18:36
2003.06.02
Вопрос про Icon и Label.