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

Вниз

Эмитация нажатия сочетания клавиш в другой программе   Найти похожие ветки 

 
Tailno   (2006-02-15 23:21) [0]

Есть программа, которая реагерует на нажатие сочетания клавиш "shift+\" причем срабатывает только на английской раскладке.

Как можно отправить это сочетание чужому окну?


 
Marser ©   (2006-02-15 23:48) [1]

Наводим фокус на нужное окно и
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"


 
Tailno   (2006-02-16 00:01) [2]

Вопрос остается открытым, как переключить раскладку в окне rus->eng, затем отправить сочетание именно shift+\, а не нолика, и переключиться обратно на русскую раскладку.


 
Marser ©   (2006-02-16 00:24) [3]

> сочетание именно shift+\, а не нолика

А не один чёрт? Это что-то меняет?

> Вопрос остается открытым, как переключить раскладку в окне
> rus->eng

ActivateKeyboardLayout
LoadKeyboardLayout


 
Tailno   (2006-02-16 00:45) [4]

Суть в том, что найти этот символ не могу. Вот и вся проблема, остальное спросил попутно, но  в принципе это главное.


 
Marser ©   (2006-02-16 00:47) [5]

Левее BackSpace в английской раскладке и в русской/украинской тоже.


 
Tailno   (2006-02-16 01:45) [6]

Хитер бобер) А теперь как его представить в виде byte чтоыб послать окну?


 
Tailno   (2006-02-16 01:46) [7]

Сэмулировать нажатие этой кнопки вместе с шифтом.


 
Marser ©   (2006-02-16 02:06) [8]

Повторяю в послений раз для хитрых и для бобров тоже: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 04:18) [9]

Просто пример корявый, посмотри повнимательней. Спасибо.


 
Tailno   (2006-02-16 04:33) [10]

Такой вопрос, а как отследить нажатие клавиш в другой программе? Допустим кнопку на которой символ "]".


 
kaZaNoVa ©   (2006-02-16 06:37) [11]

Tailno   (16.02.06 4:33) [10]
клавиатурным хуком или  VkKeyScan по таймеру в цикле .....


 
kaZaNoVa ©   (2006-02-16 06:37) [12]

хотя про  VkKeyScan не уверен .. хук лучше



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

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

Наверх





Память: 0.46 MB
Время: 0.011 c
15-1145089520
Cerberus
2006-04-15 12:25
2006.05.07
Хостинг


2-1145427557
lamot
2006-04-19 10:19
2006.05.07
DBEdit


3-1142354432
Juice
2006-03-14 19:40
2006.05.07
Абсолютное значение (модуль) поля


4-1139606426
Nostradamus
2006-02-11 00:20
2006.05.07
Выбор пункта Popup меню


2-1145450651
Zidane5
2006-04-19 16:44
2006.05.07
Word





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский