Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как с помощью keybd_event пробить точку ? и на русской и английской раскладке ? 
V
    Опции темы
Andreyklm
Дата 8.2.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Подскажите новичку как послать точку в буфер клавиатуры независимо от регистра рус./англ

на английском код работает прекрасно:
    keybd_event 110, 0, 0, 0
    keybd_event 110, 0, 2, 0

а когда включено "RUS", почему-то в клаву посылается "n"


PM MAIL   Вверх
I_Am_Rock
Дата 8.2.2008, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Советую перед "нажатием" принудительно программно переключать раскладку на Англ...

Добавлено через 1 минуту и 44 секунды
Хотя возможно я смогу кое-что сделать... Чуть попозже, подождите...
PM MAIL WWW   Вверх
I_Am_Rock
Дата 8.2.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Вот два варианта, как послать точку...

Код

Const VK_DECIMAL = &H6E
Const VK_OEM_PERIOD = &HBE
Const KEYEVENTF_KEYUP = &H2

'можно так послать (1 вариант)
keybd_event VK_DECIMAL, 0, 0, 0
keybd_event VK_DECIMAL, 0, KEYEVENTF_KEYUP, 0

'а можно и так послать (2 вариант)
keybd_event VK_OEM_PERIOD, 0, 0, 0
keybd_event VK_OEM_PERIOD, 0, KEYEVENTF_KEYUP, 0


Это сообщение отредактировал(а) I_Am_Rock - 8.2.2008, 16:29
PM MAIL WWW   Вверх
Andreyklm
Дата 8.2.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Спасибо I_Am_Rock, но оба варианта работают в Eng раскладке, но когда клава переведена в рус - оба не работают.

Придется мне видимо сначала определять текущий режим, только потом посылать один из кодов (пока не знаю какой код VK_ для русского регистра, но думаю, что найду.

PM MAIL   Вверх
bom
Дата 8.2.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Код

SendKeys Chr(46), True

PM MAIL   Вверх
Andreyklm
Дата 8.2.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Спасибо Bom - реально работает и код не очень сложный.  smile

Добавлено через 11 минут и 44 секунды
Даже наглядно можно:   SendKeys ".", True

Bom, а еще не подскажешь, с символом "^" прокол выходит, не печатает ни так

SendKeys Chr(94), True

ни так

SendKeys "^", True


PM MAIL   Вверх
bom
Дата 8.2.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Код

SendKeys "{^}", True

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0826 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.