1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Получение Клавиатурной Раскладки Активного Окна

Тема в разделе "Остальные языки программирования", создана пользователем agronomchek, 17 июн 2012.

  1. agronomchek

    agronomchek Гость

    Репутация:
    0
    Доброго времени суток, товарищи!

    Есть служба, внутри которой постоянно должна проходить проверка текущей раскладки и, с учетом её, расишифровывать сканкод в символ ASCII, но GetKeyboardLayout() всегда возвращает значение 00x0409, что есть раскадка US. Но 00x0419 (Русский), не возвращается. Ниже привожу кусок кода.

    Код:
    char GetSymbolFromScancode(UINT scanCode) // переводит код нажатой клавиши в текст
    {
    BYTE btKeyState[256];
    HKL hklLayout = GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), NULL)); // узнаем язык клавиатуры
    unsigned short Symbol[2]; 
    GetKeyboardState(btKeyState); 
    if((ToAsciiEx(MapVirtualKey(scanCode, 3), MapVirtualKey(scanCode, 2), btKeyState, Symbol, 0, hklLayout) == 1)
    {
    return Symbol[0];
    }
    return -1;
    }
     
Загрузка...
Похожие Темы - Получение Клавиатурной Раскладки
  1. OneDollar
    Ответов:
    2
    Просмотров:
    208
  2. Elektrolife
    Ответов:
    5
    Просмотров:
    205
  3. AL04E
    Ответов:
    4
    Просмотров:
    2.027
  4. ITman2K17
    Ответов:
    26
    Просмотров:
    3.108
  5. ITman2K17
    Ответов:
    16
    Просмотров:
    3.139

Поделиться этой страницей