| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Помогите найти API функцию |
| Автор: cardinal 8.8.2002, 20:26 |
| Привет, всем! Тут небольшая проблема, но пока не знаю как решить. Я хотел бы в своей маленькой программке сделать флажок, который показывает какой язык раскладки клавиатуры установлен (русский или английский). Для этого его надо как то определить и при его изменении (какое может быть произведено , как известно, разными комбинациями клавиш) менять флаг. Я думал использовать API функцию (потому что другого решения пока не вижу), но и тут я не смог найти нужную. Если кто знает какую API функцию можно тут использовать, то подскажите пожалуйста. |
| Автор: Fantasist 12.8.2002, 05:21 |
| GetKeyBoardLayoutList GetKeyBoardLayoutName GetKeyBoardLayout |
| Автор: cardinal 13.8.2002, 03:23 |
| Это понятно, но а как определить, что чувак переключил раскладку клавиатуры. Как известно это можно устанавливать как угодно например Alt + Shift или Ctrl + Shift, я уже не говорю о других программах, которые позволяют переключать раскладку одним нажатием, например, правого Ctrl. При нажатии этой комбинации у тебя снизу слева значок с флагом меняется, так а как мне тоже самое воспринимать в моей программе? - пока мне это так и не пришло в голову (есть предположение что в реестре ковыряться надо Вообще - это, как говорят некоторые, косметические штучки и особо заниматься мне этим не надо, но все равно спасибо за отклик. Если кто, что еще знает пишите... |
| Автор: rhf 13.8.2002, 09:24 |
| WM_INPUTLANGCHANGEREQUEST получает его само приложение, а не окно..... |
| Автор: Гость_Егор 2.3.2004, 16:31 |
| Кто-нибудь знает как можно решить пример в формате string ("=3+5") c на basic! Не в режиме конструктора. |
| Автор: Mephisto 6.3.2004, 13:57 |
| Гость_Егор, одна тема, один топик. |
| Автор: Programmer 6.3.2004, 17:49 |
| Посмотри на http://koding.kolpashevo.info/ >> VB6 >> api >>> |
| Автор: bom 7.3.2004, 21:37 |
| Option Explicit Private Declare Function GetKeyboardLayoutName _ Lib "user32" Alias "GetKeyboardLayoutNameA" _ (ByVal pwszKLID As String) As Long Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) Dim KeybLayoutName As String, temp As Long, lang As String KeybLayoutName = String(9, 0) GetKeyboardLayoutName KeybLayoutName temp = KeybLayoutName Select Case temp Case "00000409", "00000809" lang = "En" Case "00000419" lang = "Ru" Case "00000422" lang = "Ukr" Case "0000043F" lang = "Kz" Case "00000423" lang = "Be" Case "00000407" lang = "De" Case "0000040C" lang = "Fr" Case Else lang = "не известно" End Select Label1 = "Раскладка вашей клавы - " & lang End Sub |