Как сделать так, чтобы отлавливать состояния Ru/En - текущий язык и формировать видоизмененный курсор мыши, например так ...**......** ...**..и..** ...*Ru....*En , т.е. добавлять в вид курсора состояние языка. Замучался удалять слова, набранные не на том языке. Может есть у кого решение для Win XX? Поделитесь информацией!
Это сообщение от windows, посылаемое в оконную процедуру приложения (WndProc), когда пользователь переключает раскладку клавиатуры. Сопутствующее сообщению значение lParam указывает, какая раскладка включена (Ru/En). Копать надо не в реестре, а в msdn.
vladfind а причем здесь реестр?! объясни пожалуйста. Вся информация по этому сообщению есть на msdn.microsoft.com Там еще куча функций будет связанных с ними. Не реестра нада копать, а msdn!
Если я правильно понял, то надо менять курсор в каком-то редакторе кода в соответствие с включенной раскладкой. Если это готовое приложение, которое переделать не получится, то можно написать новую WndProc (в dll), и подгрузить её в адресное пространство этого редактора. В новой WndProc при сообщении WM_INPUTLANGCHANGE загружать соответствующий курсор (например из файла .cur). Остальные сообщения перенаправлять в старую процедуру при помощи CallWindowProc. Это т.н. сабклассинг.
А можно переписать так, чтобы это применялось ко всем текстовым box-ам для WinXX. И, как быть с Win XP, где используются сертификаты к драйверам, библиотекам и система автоматического востановления модифицированных DLL? У меня начальные навыки работы с системой WinXX на системном уровне. Так что проявите терпение к BEGINNER
vladfind Речь не о том, чтобы переписать существующие dll (в т.ч. системные). Речь о том, чтобы сделать свою dll и грузить её к программе, которая тебя интересует. Список программ к которым грузить свою dll, можно составить, просмотрев запущенные приложения на предмет наличия в них дочерних окон интересующего класса, например edit, richedit и т.д.
. Это не диалект. Читай уроки Iczelion'а. Тут на сайте есть цикл статей. А раскладкой клавиатуры и курсором похоже рано заниматься.
vladfind из литературы которая есть на русском языке в инете рекомендую почитать Фроловых Библиотека системного программиста 11-14, Ч. Петцольда Программирование Windows 95, Ганеева, Румянцева... Ну, и на последок Рихтера в связке с Соломоном-Руссиновичем "Внутреннее устройство Windows 2000 .3 издание"(в инете есть эл. версия). В магазинах пока есть 4 издание этой чудесной книги за 650 рэ. Ну и MSDN себе поставить не мешало бы! PS Твоё усердие в изучении этого материала окупиться с лихвой
1. Все таки лучше наверное не ru/an, а ru/en. 2. И еще - модифицировать растр лучше у каретки, а не курсора мыши. Это более соотносится с текстовым вводом. Функции в помощь: CreateCaret, ShowCaret.
vladfind Я тбе уже подкинул 99% решение задачи, что тебе остается, это открыть раздел InternatSHData, и пошарившись по смещениям всё найти, что надо, я видел там не только раскладку для текущего окна, но так же и харрактеристики окна, его ид, процесс, поток и всё прочее, чего там делать то???