Вставьте текст в любом месте Windows. (Например, автотекст / Intellisense) - PullRequest
1 голос
/ 14 августа 2011

Я создаю небольшую специальную функцию (C #), которая должна помочь пользователям вставлять фрагменты текста в любую точку Windows. Нечто похожее на функцию автотекста в Word или Intellisense в Visual Studio. Таким образом, будь то ввод электронной почты в Outlook, заметка в OneNote или комментарий в Facebook (с любым браузером).

Когда пользователь вводит первые 3 буквы известного слова или предложения, я хочу представить какое-то всплывающее окно, которое они могут использовать для завершения слова / предложения.

Я уже определяю, что печатают пользователи, и этот ввод также сопоставляется со списком слов в списке автозаполнения. Но теперь мне нужно знать, как вставить текст, который находится в позиции курсора? (пока пользователь находится в любой программе ..) И что-то, что было бы действительно приятно иметь, - то, что, если этот новый фрагмент текста мог заменить то, что уже было напечатано. Таким образом, я могу указать пользователям тип «nhw», и он будет заменен на «нужна помощь».

Большое спасибо за помощь, Тыс

Ответы [ 2 ]

3 голосов
/ 15 августа 2011

Если вы не хотите заново изобретать колесо, вы можете проверить PhraseExpress , у которого эта функция .

Работает в любой программе и бесплатен для личного использования.

Он поддерживает SendKey(), VK_Packet и WMChar в качестве методов вставки текста.

2 голосов
/ 14 августа 2011

Вы, вероятно, хотите использовать SendKeys(). См. Как: имитировать события мыши и клавиатуры в коде .

Чтобы заменить «nhw» на «нужна помощь», вы хотите отправить +({LEFT 3})need help with, чтобы выбрать «nhw» (Shift + Влево / Влево / Влево), прежде чем набирать «нужна помощь».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...