Проблема с VK_ в разных раскладках

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Xcode
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 131
Зарегистрирован: 31.10.2008 (Пт) 8:12
Откуда: Pavlodar

Проблема с VK_ в разных раскладках

Сообщение Xcode » 09.09.2009 (Ср) 18:03

Приветствую.
Имеется такой код:
Код: Выделить всё
keybd_event VK_DIVIDE, MapVirtualKey(VK_DIVIDE, 0), 0, 0
keybd_event VK_DIVIDE, MapVirtualKey(VK_DIVIDE, 0), 2, 0

В английской раскладке в результате печатается "/", но например в итальянской "-".
Вопрос: Есть ли универсальный способ синтезировать нажатие "/" или "\" с помощью keybd_event, или я что-то неверно делаю?

Xcode
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 131
Зарегистрирован: 31.10.2008 (Пт) 8:12
Откуда: Pavlodar

Re: Проблема с VK_ в разных раскладках

Сообщение Xcode » 10.09.2009 (Чт) 21:51

Мне что, бойкот объявили? :)

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Проблема с VK_ в разных раскладках

Сообщение awl100Alex » 10.09.2009 (Чт) 23:38

Мне кажется, получение скан-кода в MapVirtualKey(VK_DIVIDE, 0) лишнее. Может в этом артефакт проявляется. Виртуальная клавиша и есть универсальна... Попробуй вместо таких уточнений, просто указать ноль...
keybd_event VK_DIVIDE, 0, 0, 0
keybd_event VK_DIVIDE, 0, 2, 0

У меня все работает, и в итальянском тоже...
Код: Выделить всё
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Const VK_DIVIDE = &H6F

Private Sub Form_Load()
Shell "notepad.exe", vbNormalFocus
Call keybd_event(VK_DIVIDE, 0, 0, 0)
Call keybd_event(VK_DIVIDE, 0, KEYEVENTF_KEYUP, 0)
End Sub

Xcode
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 131
Зарегистрирован: 31.10.2008 (Пт) 8:12
Откуда: Pavlodar

Re: Проблема с VK_ в разных раскладках

Сообщение Xcode » 11.09.2009 (Пт) 5:47

Пробывал, но в этом случае никакого эффекта от этих процедур нет, дело в том, что я посылаю нажатие клавиш в окно Remote Desktop на удаленную машину. SendKeys из IMsRdpClientNonScriptable мне не подошла в виду некоторых причин.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Проблема с VK_ в разных раскладках

Сообщение awl100Alex » 11.09.2009 (Пт) 14:38

Тогда попробуй копнуть в направлении хука WH_JOURNALRECORD.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

    TopList  
cron