
- Код: Выделить всё
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Private Const KLF_ACTIVATE = 1
Public Sub SetLanguage(ByVal s As String)
Select Case UCase(s)
Case "R"
LoadKeyboardLayout("00000419", KLF_ACTIVATE)
Case "U"
LoadKeyboardLayout("00000422", KLF_ACTIVATE)
Case "E"
LoadKeyboardLayout("00000409", KLF_ACTIVATE)
Case Else
End Select
End Sub
После выполнения кода в список раскладок спокойно добавляется украинский язык, а как его теперь так же программно выгрузить? вот этот код не срабатывает не в какую:
- Код: Выделить всё
Private Declare Function UnloadKeyboardLayout Lib "user32" Alias "UnloadKeyboardLayout" (ByVal hkl As Long) As Long
Public Sub RemoveLanguage(ByVal s As String)
Select Case UCase(s)
Case "R"
UnloadKeyboardLayout("00000419")
Case "U"
UnloadKeyboardLayout("00000422")
Case "E"
UnloadKeyboardLayout("00000409")
Case Else
End Select
End Sub
Что делаю не так? уже намучался, пробовал практически всё, и в шестнадцатиричном виде передавал параметр, и в десятичном, ну я не знаю уже что не так