Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Управление текстовым курсором и вводом символов в чужих приложения

9.9K
05 сентября 2008 года
BelStudent
48 / / 18.03.2007
нужно сделать на подобие PuntoSwither, только когда нажимаешь на break добавлялось слово из моего словаря справа от текстового курсора, если слева от текстового курсора стоит не пробел, то удалить этот символ.
Вопрос: как программно управлять текстовым курсором и вставкой символов в чужое приложение (например, в word)?
Знаю, что это делается через winAPI, но как?

P.s. Пробывал посылать сообщение WM_CHAR. С командной строкой total'а работает вставка символа, но с вордом нет. Чувствую, что коммандная строка тотала - это наследник TEdit поэтому вставка работала. Мне нужно чтобы символы всавлялись в любое приложение, позволяющее вводить текст.
Чувствую нужно посылать другое сообщение, а не WM_CHAR.
11
05 сентября 2008 года
oxotnik333
2.9K / / 03.08.2007
WM_SETTEXT тоже не катит?
288
05 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
WM_CHAR работает и с Word'ом.
Просто надо правильно определить HWND окна, содержащего курсор ввода.
14
05 сентября 2008 года
Phodopus
3.3K / / 19.06.2008
Вообще окна в винде получают сообщения клавиатуры от WM_CHAR/WM_KEYDOWN..
Нет, конечно можно на хуках забацать, но такого изврата в простом приложении ввода текста (даже в сложном типа Ворд) я не встречал - да и зачем?
А это значит - и послать ему можно сообщеньице.. :)
9.9K
06 сентября 2008 года
BelStudent
48 / / 18.03.2007
Попробую поковырять комбинацию WM_char и WM_keydown. Потом ещё отпишусь.
Но как двигать курсор (текстовый, не мышь)?
353
06 сентября 2008 года
Nixus
840 / / 04.01.2007
Отправлять код backspace'а. :)
9.9K
08 сентября 2008 года
BelStudent
48 / / 18.03.2007
Оказывается WM_CHAR нормально работает в любых полях куда можно вписывать текст, но...
Но WORD и EXCEL игнорируют мои сообщения. Причём, если EXCEL просто игнорирует мои сообщения, то WORD вообще виснет и на 100% грузит проц.
288
08 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: BelStudent
Оказывается WM_CHAR нормально работает в любых полях куда можно вписывать текст, но...
Но WORD и EXCEL игнорируют мои сообщения. Причём, если EXCEL просто игнорирует мои сообщения, то WORD вообще виснет и на 100% грузит проц.



Уверены, что посылаете сообщение нужному окну? У меня все работает и подобных эффектов не наблюдается.

9.9K
09 сентября 2008 года
BelStudent
48 / / 18.03.2007
Всё верно, определяю hahdle с помощью WindowFromPoint().
Но я вот подумал: у меня стои 2007 office, может microsoft опять что-нибудь наваял в своей новой версий, и там тоже стоит hook. который перекрывает мой? Короче потестирую на другом office и потом отпишусь.
Но даже если это так, то проблема остаётся: как заставить посылать сообщения во все word'ы?
9.9K
15 сентября 2008 года
BelStudent
48 / / 18.03.2007
как и обещал отписываюсь.
Порблема со вставкой символов в ворд решена с помощью SendInput
SendInput посути добавляет в очередь событий (в моём случае в очередь событий клавиатуры) моё событие. НО...
Но возникла другая проблема, если во время набора всплывает чужое окно, или фокус перешел на другой елемент, то последствия весьма различны: от простого игнорирвание до появления кучи других окон (всё зависит где будет фокус). А как бы удержать вставку символов в одно конкретное место?
27K
15 сентября 2008 года
Everhest
44 / / 20.07.2008
Да измени стиль главного окна на WS_EX_TOPMOST и оно ни когда не будет перекрываться другими окнами.
27K
15 сентября 2008 года
Everhest
44 / / 20.07.2008
SetWindowLong в комплекции с WS_EX_TOPMOST
8.4K
27 сентября 2008 года
z0rch
275 / / 02.09.2008
Цитата: Everhest
Да измени стиль главного окна на WS_EX_TOPMOST и оно ни когда не будет перекрываться другими окнами.



это не поможет. тк окно графически не будет перекрываться, а вот курсор перейдет на другое окно. Надо подумать как держать окно всегда активным, а не "поверх всех окон". Это разные вещи

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог