|
|
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#18+
Приветствую! Подскажите, пожалуйста, какое событие надо передать окну с помощью SendMessage(..), чтобы в нем поменять раскладку клавиатуры (например, с русского на англ., подразумевается)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 16:57 |
|
||
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#18+
функция переключающая раскладки: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 17:34 |
|
||
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#18+
Спасибо, но мне надо переключить язык в другом процессе. Вроде, надо как-то загрузить хендл раскладки другого процесса и переключить. Никто не сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 10:22 |
|
||
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#18+
x-aСпасибо, но мне надо переключить язык в другом процессе. Вроде, надо как-то загрузить хендл раскладки другого процесса и переключить. Никто не сталкивался? Программное переключение раскладки имеет смысл: 1) если на экране форма и ожидается ввод от юзера - тогда преключаем в событии OnActivate 2) при копировании на клипборд русского текста не в Unicode. Когда и зачем вам еще это нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 17:43 |
|
||
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#18+
pandrew x-aСпасибо, но мне надо переключить язык в другом процессе. Вроде, надо как-то загрузить хендл раскладки другого процесса и переключить. Никто не сталкивался? Программное переключение раскладки имеет смысл: 1) если на экране форма и ожидается ввод от юзера - тогда преключаем в событии OnActivate 2) при копировании на клипборд русского текста не в Unicode. Когда и зачем вам еще это нужно? В форме ввода другой программы. Например Notepad.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 18:48 |
|
||
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#18+
Это надо для разрешения следующей ситуации. Есть два окна в разных процессах. Причем одно окно является дочерним по отношению к другому. Необходимо синхронизировать для этих процессов (окон) переключение раскладки клавиатуры. Если пользователь меняет раскладку в одном окне - в другом тоже должно меняться. Само это не происходит. Когда получаю сообщение WM_INPUTLANGCHANGE в дочернем окне (процесс 1), посылаю в родительское окно (процесс 2) сообщение WM_MYMESSAGE, и при его получении (в процессе 2) инициирую смену раскладки с помощью ActivateKeyboardLayout( HKL_PREV, KLF_SETFORPROCESS ). Но, тут начинается самое неприятное. Т.к. окно, в котором переключалась раскладка (процесс 1) является дочерним, то ActivateKeyboardLayout(...) посылает ему сообщение WM_INPUTLANGCHANGE. А мне это вообще не нужно. Таким образом можно сделать так, чтобы дочерние окна в чужом процессе не получали сообщения типа WM_INPUTLANGCHANGE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2007, 15:14 |
|
||
|
|

start [/forum/search_topic.php?author=Leon2&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 411ms |
| total: | 529ms |

| 0 / 0 |
