![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эмитация нажатия сочетания клавиш в другой программе
Tailno © (2006-02-15 23:21:00)Есть программа, которая реагерует на нажатие сочетания клавиш "shift+\" причем срабатывает только на английской раскладке.
Как можно отправить это сочетание чужому окну?
kaZaNoVa (2006-02-16 06:37:00) [1]Tailno (16.02.06 4:33) [10]
клавиатурным хуком илиVkKeyScanпо таймеру в цикле .....
kaZaNoVa (2006-02-16 06:37:00) [2]хотя про VkKeyScan не уверен .. хук лучше
Tailno (2006-02-16 04:33:00) [3]Такой вопрос, а как отследить нажатие клавиш в другой программе? Допустим кнопку на которой символ ']'.
Tailno (2006-02-16 04:18:00) [4]Просто пример корявый, посмотри повнимательней. Спасибо.
Marser (2006-02-16 02:06:00) [5]Повторяю в послений раз для хитрых и для бобров тоже:VkKeyScan
The VkKeyScan function translates a character to the corresponding virtual-key code and shift state for the current keyboard.
SHORT VkKeyScan(
TCHAR ch // character to translate
);
Parameters
ch
Specifies the character to be translated into a virtual-key code.
Return Values
If the function succeeds, the low-order byte of the return value contains the virtual-key code...
> Сэмулировать нажатие этой кнопки вместе с шифтом.
Я тебе это уже показал в [1]. Читай хелп и будет тебе счастье.
Tailno (2006-02-16 01:46:00) [6]Сэмулировать нажатие этой кнопки вместе с шифтом.
Tailno (2006-02-16 01:45:00) [7]Хитер бобер) А теперь как его представить в виде byte чтоыб послать окну?
Marser (2006-02-16 00:47:00) [8]Левее BackSpace в английской раскладке и в русской/украинской тоже.
Tailno (2006-02-16 00:45:00) [9]Суть в том, что найти этот символ не могу. Вот и вся проблема, остальное спросил попутно, но в принципе это главное.
Marser (2006-02-16 00:24:00) [10]> сочетание именно shift+\, а не нолика
А не один чёрт? Это что-то меняет?
> Вопрос остается открытым, как переключить раскладку в окне
> rus->eng
ActivateKeyboardLayout
LoadKeyboardLayout
Tailno (2006-02-16 00:01:00) [11]Вопрос остается открытым, как переключить раскладку в окне rus->eng, затем отправить сочетание именно shift+\, а не нолика, и переключиться обратно на русскую раскладку.
Marser (2006-02-15 23:48:00) [12]Наводим фокус на нужное окно и
keybd_event(VK_SHIFT,0,0,0);
keybd_event(VkKeyScan('0',0,0);
keybd_event(VK_SHIFT,0,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('0',KEYEVENTF_KEYUP,0);
Эмулируем, к примеру, SHIFT+'0'