Головна » C++ Builder: Переключение раскладки клавиатуры

C++ Builder: Переключение раскладки клавиатуры

Естественно, самый простой вариант переключить раскладку клавиатуры – воспользоваться значком, расположенным на Панели задач. Или нажать комбинацию клавиш Alt+Shift, а может Ctrl+Shift, в зависимости от настроек системы.

Но мы ведь не ищем легких путей, так что будем переключать раскладку клавиатуры при помощи приложения созданного в среде C++ Builder.

Реализовать данную фишку в программе довольно просто, к примеру, можно так:

LoadKeyboardLayout("00000409", KLF_ACTIVATE);	//английская раскладка
LoadKeyboardLayout("00000419", KLF_ACTIVATE);	//русская раскладка

Пример использования ниже:

#include 
#pragma hdrstop

#include "Unit1.h"
//--------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//--------------------------------------------------------------

void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
 LoadKeyboardLayout("00000419", KLF_ACTIVATE);        
}
//--------------------------------------------------------------

void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
 LoadKeyboardLayout("00000409", KLF_ACTIVATE);
}

Созданная форма приведена на рисунке.

Результат работы приложения

Архив с программой можно скачать здесь.

femil

49 коментарів до “C++ Builder: Переключение раскладки клавиатуры

  1. прикольно.
    полезная иформация, можно будет попробывать. посмотрим что получиться.
    а всетаки привычней переключать язык с помощью клавиатуры…

    1. Как представишь, что англоговорящим людям не нужно переключать клавиатуру… Так что да, вещь нужная.

  2. Довольно интересно конечно. Я немогу подписаться под каждым вашим словом, но в общем соглашусь.

  3. Да и в отличие от большинства других подобных советов воду в уши не льешь

  4. Круто. Добавлю блог в избранное и друзьям посоветую. Ждите новых читателей 🙂

  5. Довольно интересно конечно. Я немогу подписаться под каждым вашим словом, но в общем соглашусь.

  6. виды альтернативных источников энергии :

    Жаль, что в Интернете мало находила таких содержательных материалов

  7. Круто. Добавлю блог в избранное и друзьям посоветую. Ждите новых читателей 🙂

  8. спасибо, язык принудительно переключился, но только у меня при вводе текста теперь он вводится как-то туго, каждая буква с “задержкой” где-то в секунду, если убираю эту строку кода, то снова английский по умолчанию, и вводится все ок

    1. а вы когда запускаете приложенный проект получаете тот же результат (задержку)? – У меня вводится с нормальной скоростью. Кстати, а какая у вас операционная система (ну и версия билдера)?

    1. Код казахского языка – 0000043f
      Проверьте.
      На будущее: все эти значения хранятся в реестре системы – можно легко заглянуть и посмотреть (вам даже проще – не придется такую раскладку добавлять)))

      UPD
      А код украинского – 00000422
      Извините, сразу перепутала )))

  9. я вот недавно начала пользоваться Apple. для переключения раскладки использую клавиши комманд с пробелом. Но очень часто с первого нажатия не переключается. Может кто подскажет почему это происходит? Подойдет ли для эпла эта программа?

  10. Классный и не сложный урок. Полезная статья, спасибо 🙂 Сейчас буду пробывать творить такое чудо 🙂

    1. Точно так же. Только вместо радиокнопки исходящим потоком (cout) задавать вопрос и получать ответ через (cin).
      Вы столкнулись с какой-то конкретной проблемой при реализации?

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Повернутись до верху