Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
Ик сик   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-3130
RIMMER
2003-05-15 00:11
2003.06.02
www.win-x.net.ru


14-3050
Карлсон
2003-05-15 21:16
2003.06.02
мониторы SyncMaster


3-2825
VeLeS
2003-05-15 15:24
2003.06.02
как заставить маску понимать значение NULL?


4-3215
SammIk
2003-04-04 18:47
2003.06.02
Сообщения


4-3204
Manix
2003-04-03 20:07
2003.06.02
SendInput и Delphi ???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский