powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как переключать Ru-En из VB6
4 сообщений из 4, страница 1 из 1
Как переключать Ru-En из VB6
    #33638541
Дмитрий П.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
Как из программы на VB6 можно переключать раскладку клавиатуры:
Ru-En (Win2000)?

Спасибо!
...
Рейтинг: 0 / 0
Как переключать Ru-En из VB6
    #33638818
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Public Declare Function GetKeyboardLayout Lib "user32" _
    (ByVal dwLayout As Long) As Long
Public Declare Function ActivateKeyboardLayout Lib "user32" _
    (ByVal HKL As Long, ByVal flags As Long) As Long


' Раскладки клавиатуры
Public Enum enmKeybordLayout
    kbrdEnglish =  67699721 
    kbrdRussian =  68748313 
End Enum


' ============================================================
' Назначение:
'           Включить выбранную раскладку клавы
' Аргументы:
'           Требуемая раскладка
' Пример:   SetLayout kbrdEnglish
' ============================================================
Public Sub SetLayout(ByVal myLayout As enmKeybordLayout)
Dim lngReturn As Long
Dim lngCodeKeybord As Long

    ' Получить текущую раскладку
    lngReturn = GetKeyboardLayout(lngCodeKeybord)
     'Если раскладки не совпадают, значит, надо переключиться
    If lngReturn <> CLng(myLayout) Then 
        Call ActivateKeyboardLayout(HKL_NEXT, KLF_REORDER)        
    End If

End Sub


public sub main()
    ' Установить английскую раскладку
    SetLayout kbrdEnglish
end sum
...
Рейтинг: 0 / 0
Как переключать Ru-En из VB6
    #33639230
Фотография Robert Tappan Moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibbles
Код: plaintext
1.
        Call ActivateKeyboardLayout(HKL_NEXT, KLF_REORDER)        

Надо понимать это именно этот кусок и переключает разкладки? То есть переключает на следующую раскладку.
Но ведь если используются 3 или более раскладок, то нужно уже вводить цикл или рекурсию. Нельзя ли как-то указывать какую именно раскладку нужно включить?
...
Рейтинг: 0 / 0
Как переключать Ru-En из VB6
    #33640297
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Утанавливает раскладку вот эта функция:
Код: plaintext
1.
2.
    ' Установить английскую раскладку
    SetLayout kbrdEnglish
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как переключать Ru-En из VB6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]