Тема: Как програмно поменять раскладку клавиатуры?

Как програмно поменять раскладку клавиатуры с английской на рускую и наоборот

Re: Как програмно поменять раскладку клавиатуры?

влад добри ВЕЧЕР! ти получил ответ на свои вапрос на тему - Как програмно поменять раскладку клавиатуры с английской на рускую и наоборот. буду презнателен иасли линкнеш.
Предупреждение! Помещайте транслит между тагами [rus] и [/rus].
/Администратор./

Re: Как програмно поменять раскладку клавиатуры?

Option Explicit
Public Declare Function ActivateKeyboardLayout Lib "user32" _
(ByVal HKL As Long, ByVal flags As Long) As Long
 'Keyboard Layout API
Public Const HKL_PREV = 0
Public Const HKL_NEXT = 1
Sub KeyBoard_Previos()
    Call ActivateKeyboardLayout(HKL_PREV, 1)
End Sub
Sub KeyBoard_Next()
    Call ActivateKeyboardLayout(HKL_NEXT, 1)
End Sub

Re: Как програмно поменять раскладку клавиатуры?

P.S.
Параметр flags задает перемещение заданной(устанавливаемой) раскладки клавиатуры в начало внутреннего списка раскладок клавиатуры.
Я не уверен, что надо всегда устанавливать его в 1, попробуйте поэкспериментировать...
Возвращаемое функцией ActivateKeyboardLayout  значение типа Long - это манипулятор предыдущей раскладки в случае успеха и ноль при неудаче.
Устанавливает информацию в функции GetLastError.

Re: Как програмно поменять раскладку клавиатуры?

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

Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Public Function KBDToENG()
   'Переключение на английскую раскладку
   Call LoadKeyboardLayout("00000409", &H1)
End Function
Public Function KBDToRUS()
   'Переключение на русскую раскладку
   Call LoadKeyboardLayout("00000419", &H1)
End Function