powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как переключать язык
3 сообщений из 3, страница 1 из 1
Как переключать язык
    #33032499
Eyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Подскажите, пожалуйста, как с помощью VB переключать язык (с англ. на русский и обр.)
...
Рейтинг: 0 / 0
Как переключать язык
    #33032831
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
38.
39.
40.
41.
42.
43.
Private Declare Function GetKeyboardLayoutName Lib "user32" _
                            Alias "GetKeyboardLayoutNameA" _
                            (ByVal pwszKLID As String) As Long
            
Private Declare Function LoadKeyboardLayout Lib "user32" _
                            Alias "LoadKeyboardLayoutA" _
                            (ByVal pwszKLID As String, _
                            ByVal flags As Long) As Long

Public Const LANG_EN_US As String = "00000409"
Public Const LANG_RUS As String = "00000419"

Private Const KL_NAMELENGTH As Long =  9 &
Private Const KLF_ACTIVATE  As Long = &H1&

'Вызывать так:
'SetKbLayout LANG_RUS
'SetKbLayout LANG_EN_US
Public Function SetKbLayout(strLocaleId As String) As Boolean
On Error Resume Next
    Dim strLocId As String
    Dim strMsg As String
    Dim lngErrNr As Long

    strLocId = String(KL_NAMELENGTH,  0 )
    GetKeyboardLayoutName strLocId
    If strLocId = (strLocaleId & Chr( 0 )) Then
        SetKbLayout = True
    Else
        strLocId = String(KL_NAMELENGTH,  0 )
        strLocId = LoadKeyboardLayout((strLocaleId & vbNullChar), KLF_ACTIVATE)
        If IsNull(strLocId) Then
            SetKbLayout = False
        Else
            strLocId = String(KL_NAMELENGTH,  0 )
            GetKeyboardLayoutName strLocId
            If strLocId = (strLocaleId & Chr( 0 )) Then
              SetKbLayout = True
            Else
              SetKbLayout = False
            End If
        End If
    End If
End Function
...
Рейтинг: 0 / 0
Как переключать язык
    #33032911
Eyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РА, благодарю Вас!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как переключать язык
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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