|
А как с помощью Win API узнать раскладку ?
|
|||
---|---|---|---|
#18+
На hiprog нашел как переключать, а как считать не нашел. Подскажите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2003, 00:23 |
|
А как с помощью Win API узнать раскладку ?
|
|||
---|---|---|---|
#18+
В Delphi прописана такая функция Код: plaintext
Я ее юзал так (изучил методом тыка, не сильно отвлекаясь на Help) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Вот. Осталось только переложить на VBA :D ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2003, 04:42 |
|
А как с помощью Win API узнать раскладку ?
|
|||
---|---|---|---|
#18+
Для работы с раскладкой клавиатуры в VB используются три основные API-функции: 1. GetKeyboardLayout — функция GetKeyboardLayout определяет текущую раскладку клавиатуры. Если idThread равен нулю, тогда возвращается текущяя раскладка клавиатуры для данного процесса. idThread — определяет процесс (приложение). В случае верного выполнения функции возвращаемое значение — идентификатор языка(раскладка клавиатуры). Declare Function GetKeyboardLayout Lib «user32» (ByVal IdThread As Long) As Long. Пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
2. ActivateKeyboardLayout — функция устанавливает идентификатор языка для текущего процесса/программы. Идентификатор языка определяет язык а также физическое размещение клавиатуры. hKL — идентификатор языка, который будет активизирован (для Windows 9х этот аргумент может быть получен при помощи LoadKeyboardLayout либо при помощи констант, приведенных ниже, для Windows NT/2k — идентификатор языка должен быть сначала загружен запросом к функции LoadKeyboardLayout). Этот аргумент должен быть либо ссылкой на клавиатурную раскладку, либо одним из следующих значений: HKL_NEXT — выбирает следующую раскладку языка (из списка языков, установленных в системе); HKL_PREV — выбирает предыдущую раскладку языка (из списка языков, установленных в системе). Flags — Определяют различные аргументы активизации языка. Этими аргументами могут быть одни из следующих значений : KLF_REORDER, KLF_RESET, KLF_SETFORPROCESS, KLF_SHIFTLOCK, KLF_UNLOADPREVIOUS. Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal Flags As Long) As Long Пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
3. API функция GetKeyboardLayoutName, позволяющая узнать не просто идентификатор раскладки, а конкретное имя текущей раскладки. Declare Function GetKeyboardLayoutName Lib «user32» Alias "GetKeyboardLayoutNameA» (ByVal pwszKLID As String) As Long Пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
--------------- Из конференции Expert_FAQ источник ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2003, 06:28 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1680957]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
29ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 41ms |
total: | 183ms |
0 / 0 |