Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 16.12.07
|
|
Отправлено: 16.12.07 15:46. Заголовок: Нужна помощь - вывести на консольиндикатор расскладки калавиатуры
Есть ли возможность (пример программы) вывести индикатор какая течущая расскладка клавиатуры. Роботаю в Harbour
|
|
|
Ответов - 44
, стр:
1
2
3
All
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 12.02.08 15:08. Заголовок: rvu и PSP к ночи и..
rvu и PSP к ночи из дома перешлю на работе инет подох
|
|
|
|
| постоянный участник
|
Пост N: 69
Зарегистрирован: 27.01.07
|
|
Отправлено: 12.02.08 15:11. Заголовок: Ok. Пасиб...
Ok. Пасиб.
|
|
|
|
| |
Пост N: 46
Зарегистрирован: 05.11.05
|
|
Отправлено: 12.02.08 15:21. Заголовок: Спасибо!..
Спасибо!
|
|
|
|
| |
Пост N: 47
Зарегистрирован: 05.11.05
|
|
Отправлено: 13.02.08 15:07. Заголовок: Не могу разобраться...
Не могу разобраться. Насколько я понял, нужно это прописать в программе: DLL32 FUNCTION GetLangState() AS _INT ; PASCAL LIB "SUPP\Langenru.DLL" Компилятор выдает "syntax error at 'FUNCTION'".
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 13.02.08 15:11. Заголовок: rvu В любом .prg Ва..
rvu В любом .prg Вашего проекта вне всяких процедур. Тока SUPP\ убрать(это путь где лежит DLL)
|
|
|
|
| |
Пост N: 48
Зарегистрирован: 05.11.05
|
|
Отправлено: 13.02.08 15:25. Заголовок: fil пишет: В любом ..
fil пишет: цитата: | В любом .prg Вашего проекта вне всяких процедур. Тока SUPP\ убрать(это путь где лежит DLL) |
| Так и делал. Не пойму почему не работает. При компиляции пишет: Error E0030 Syntax error: "syntax error at 'FUNCTION'"
|
|
|
|
| постоянный участник
|
Пост N: 425
Зарегистрирован: 09.10.06
|
|
Отправлено: 13.02.08 15:42. Заголовок: Вызов функции из dll..
Вызов функции из dll в стиле FWH #include "hbdll.ch" делали?
|
|
|
|
| |
Пост N: 49
Зарегистрирован: 05.11.05
|
|
Отправлено: 13.02.08 16:06. Заголовок: Петр, спасибо! Я дог..
Петр, спасибо! Я догадывался что чего-то не хватает, только не знал чего.
|
|
|
|
| |
Пост N: 50
Зарегистрирован: 05.11.05
|
|
Отправлено: 13.02.08 16:25. Заголовок: fil пишет: Getlangs..
fil пишет: цитата: | Getlangstate(). Если возвращает 0 - русский |
| Возвращает и при английском и при русском 1. Может она тоже в консоли не работает?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 13.02.08 16:31. Заголовок: rvu Не знаю, в кон..
rvu Не знаю, в консоли не работал
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 13.02.08 16:40. Заголовок: rvu Смотри регисстр..
rvu Смотри регисстр HKEY_CURRENT_USER PowerCfg sLanguage RUS/ENG
|
|
|
|
|
| |
Пост N: 932
Зарегистрирован: 17.05.05
|
|
Отправлено: 02.10.08 16:05. Заголовок: Петр пишет: #pragma..
Петр пишет: цитата: | #pragma BEGINDUMP #include <windows.h> #include "hbapi.h" #include "hbapiitm.h" HB_FUNC( ACTIVATEKEYBOARDLAYOUT ) { HKL kbl; kbl = ActivateKeyboardLayout( (HKL) hb_parni(1), 0 ); hb_retni(LOWORD(kbl)); } #pragma ENDDUMP |
| Действительно что то не то ;) Можешь нормально эту функцию написать ?
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 02.10.08
|
|
Отправлено: 03.10.08 12:52. Заголовок: Изините, а мона свои..
Изините, а мона своих 2 копейки? У мну вот так работает: HB_FUNC( SMENKL ) { TCHAR m_PreviousLayout[KL_NAMELENGTH] ; LPSTR szMsg = ""; GetKeyboardLayoutName(m_PreviousLayout); if( PCOUNT() ) { szMsg = _parc( 1 ); if ( ( *(szMsg) == 'R' ) { LoadKeyboardLayout( "00000419", KLF_ACTIVATE ) ; } else if ( ( *(szMsg) == 'E' ) { LoadKeyboardLayout( "00000409", KLF_ACTIVATE ) ; } } _retc(m_PreviousLayout); } Правда переключаю только RUS-ENG, но мну больше и не надо...
|
|
|
|
| |
Пост N: 935
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.10.08 17:22. Заголовок: Loach пишет: У мну ..
Loach пишет: у мну это собрать не получилось.....
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 02.10.08
|
|
Отправлено: 05.10.08 13:40. Заголовок: Dima пишет: у мну э..
Dima пишет: цитата: | у мну это собрать не получилось.. |
| Ооойй... посыпаю голову пеплом... Как-то скушался кусок кода... Вот так должно собраться: #PRAGMA BEGINDUMP #include "Windows.h" #include "ClipApi.h" HB_FUNC( SMENKL ) { TCHAR m_PreviousLayout[KL_NAMELENGTH] ; LPSTR szMsg = ""; GetKeyboardLayoutName(m_PreviousLayout); if( PCOUNT() ) { szMsg = _parc( 1 ); if ( ( *(szMsg) == 'R' ) && ( *(m_PreviousLayout+7)!='1' ) ) { LoadKeyboardLayout( "00000419", KLF_ACTIVATE ) ; } else if ( ( *(szMsg) == 'E' ) && ( *(m_PreviousLayout+7)!='0' ) ) { LoadKeyboardLayout( "00000409", KLF_ACTIVATE ) ; } } _retc(m_PreviousLayout); } #PRAGMA ENDDUMP А вызываю функцию примерно так: if !(smenkl()=='00000419') smenkl("RUS") endif
|
|
|
|
| |
Пост N: 938
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.10.08 14:12. Заголовок: Loach Собралось. Пр..
Loach Собралось. Применение ей пока не вижу. У меня в фоне крутится функция , откуда я и думал вызывать SMENKL Хотелось бы находясь в любом месте задачи при смене раскладки клавы отображать ее статус (rus/eng) , с помощью SMENKL я не вижу пока способа реализации.
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 02.10.08
|
|
Отправлено: 06.10.08 08:40. Заголовок: Знасицца так. По пов..
Знасицца так. По поводу применения, так я применяю ету штуку несколько для другого: У меня бровзится база, в которой например 2 поля, если конкретно, то код болезни (латиница) и наименование заболевания (рус). Я пользую эту функцию, чтобы при смене сортировки для пользователя сразу менялась раскладка клавиатуры (для последующего seekа). Все для народа... По поводу Вашей задачи, то вызывая Smenkl() без параметров, обратно получаете текущую раскладку: если '00000419', то русская, если '00000409', - более английская. Ну и соответственно, вызываете из фоновой функции периодически Smenkl и отображаете полученное.... Или я чего-то не понял в постановке задачи...
|
|
|
|
| |
Пост N: 947
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.10.08 09:14. Заголовок: Loach пишет: По пов..
Loach пишет: цитата: | По поводу Вашей задачи, то вызывая Smenkl() без параметров |
| Так и сделал , все время кажет 00000409
|
|
|
|
| Администратор
|
Пост N: 996
Зарегистрирован: 23.05.05
|
|
Отправлено: 06.10.08 10:37. Заголовок: Dima пишет: Хотелос..
Dima пишет: цитата: | Хотелось бы находясь в любом месте задачи при смене раскладки клавы отображать ее статус (rus/eng) , |
| Дима, а зачем дублировать функции windows ? Пусть она сама и показывает раскладку. А программу запускать не в полноэкранном, а в оконном режиме, чтобы была видна нижняя строка taskbar
|
|
|
|
| |
Пост N: 948
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.10.08 11:05. Заголовок: Pasha Дело в том чт..
Pasha Дело в том что программа консольная и запускается на мини ноуте , экран там очень маленький (ноты фирмы ASUS) Если еще и в окне сделать то будет мелковато ;) Да и не каждому объяснишь как настроить окно как надо. Впрочем подумаю , спасибо !!!
|
|
|
Ответов - 44
, стр:
1
2
3
All
[только новые]
|
|