Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


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

Поиск:
Код

Private Const KL_NAMELENGTH As Long = 9
Private Const HKL_NEXT As Long = 1
Private Const HKL_PREV As Long = 0

Private Declare Function ActivateKeyboardLayout Lib "user32" ( _
   ByVal HKL As Long, _
   ByVal Flags As Long) As Long
 
Private Declare Function GetKeyboardLayout Lib "user32" ( _
   ByVal dwLayout As Long) As Long
 
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" ( _
   ByVal pwszKLID As String) As Long

Private Sub Command1_Click()

  Dim lngCurrent_HKL As Long
  Dim strCurrent_Buffer As String
  Dim lngSwitched_HKL As Long
  Dim strSwitched_Buffer As String

  'узнать какая щас расскладка клавиатуры
  lngCurrent_HKL = GetKeyboardLayout(0)
 
  'сделать буффер
  strCurrent_Buffer = String(KL_NAMELENGTH - 1, 0)
  strSwitched_Buffer = String(KL_NAMELENGTH - 1, 0)
 
  'узнать название расскладки клавиатуры
  GetKeyboardLayoutName strCurrent_Buffer
 
  'переключить на следующию расскладку клавиатуры
  ActivateKeyboardLayout HKL_NEXT, 0
 
  'узнать переключёную расскладку клавиатуры
  lngSwitched_HKL = GetKeyboardLayout(0)
 
  'узнать имя переключёной расскладки клавиатуры
  GetKeyboardLayoutName strSwitched_Buffer
  MsgBox "Рассклад клавиатуры поменялся" & vbCrLf & _
     "из " & strCurrent_Buffer _
     & " в " & strSwitched_Buffer
   
  'вернуть начальную расскладку калвиатуры
  ActivateKeyboardLayout lngCurrent_HKL, 0

End Sub
Автор: M.E.G.U.S






Просмотров: 2563

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную