|
|
|
Переключение раскладки клавиатуры
|
|||
|---|---|---|---|
|
#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/topic.php?fid=57&tid=2028541]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 441ms |

| 0 / 0 |
