![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
проблема такая! я знаю код символа (десятичный), как узнать, что это за символ с учетом языка! т.е. есть код 65, например! надо узнать какой это символ а русская или а английская? есть ли функция, которая анализирует код с учетом языка! если нет, то подскажите, как узнать текущий язык, напишу свою функцию, которая это делает
заранее спасибо. -------------------- |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
char a = (char)65;)
|
|||
|
||||
| Dmi3ev |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
не так немного выразился
код клавиши Добавлено через 2 минуты и 40 секунд и здесь не так
ф русская или а английйская? извините за неточности, я недавно начал -------------------- |
||||
|
|||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
||||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 4 Всего: 17 |
если в винде и про скан-код то - MapVirtualKey
|
|||
|
||||
| Dmi3ev |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
объясню все подробно! я написал программу, которая записывает в файл все, что печатается с клавиатуры (вне программы). все отлично работает, только одна проблема! если человек печатает на русском, то код клавиши от этого не меняется, и когда я пишу (char)p->vkCode, то в файл записывается английская буква, соответствующая данному коду клавиши, т.е. язык никак не влияет на код клавиши. я и решил узнать, может есть функция, которая учитывая язык, и зная код нажатой клавиши будет записывать, то что человек реально печатает.
конечно несложно, зная язык и код клавиши, самому написать функцию! но перед этим я решил поинтересоваться, может не стоит изобретать велосипед Добавлено через 1 минуту и 35 секунд
спасибо, но эти данные у меня есть Добавлено через 4 минуты и 13 секунд korian,
это не тот ответ, который нужен новичку вроде меня, хотя бы чуть-чуть поподробнее, если нетрудно -------------------- |
||||
|
|||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 4 Всего: 17 |
велосипед существует, я уже написал, называеться он MapVirtualKey (WinAPI-функция такая)
|
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
korian,
как пользоваться MapVirtualKey, можно маленький примерчик, допустим код клавиши 65, т.е. "ф" или "a". помоги -------------------- |
|||
|
||||
| G0L1a7h |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 1.3.2008 Репутация: нет Всего: нет |
_http://msdn2.microsoft.com/en-us/library/ms646306(VS.85).aspx
Пользуйся гуглом. |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
G0L1a7h, спасибо! конечно лучше бы примерчик маленький присылать вместе с сообщением
-------------------- |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
что-то у меня не получается! данную программу пишу в билдере, соответсвенно код такой
ошибку не выдает, но и значение тоже возвращает не то (возвращает p->vkCode). поясните пожалуйста, может я неправильно понял, как пользоваться этой функцией? -------------------- |
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 4 Всего: 17 |
ндя, оказалось не все так просто... MapVirtualKey для такой цели не очень годится...
вот что у меня получилось:
вместо ToUnicode можно использовать ToAscii, если надо. там правда немного по другому. Это сообщение отредактировал(а) korian - 21.3.2008, 10:56 |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
korian, давай без Memo и без остальных приблудов, я правда хочу разобраться, а не получить готовый код!
у нас есть код клавиши 65 и раскладка русская, значит пользователь нажал Ф! как добиться того, чтобы это узнать? помоги разобраться, пожалуйста -------------------- |
|||
|
||||
| korian |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 8.3.2008 Где: Украина, Харьков Репутация: 4 Всего: 17 |
я дал пример использования
основная функция для перевода virtkey + scan code в char - ToUnicode ей передаются VirtualKey, Scan code, состояние клавы а возвращает она символы и их количество но использовать вам скорее всего надо ToUnicodeEx, т.к. надо будет узнавать раскладку активного потока.
описание функций есть в MSDN Это сообщение отредактировал(а) korian - 22.3.2008, 05:06 |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: нет Всего: 41 |
разобрался, спасибо большое!!!!!!!
-------------------- |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |