Как написать пользовательский элемент управления в C # для работы с любым приложением текстового процессора Windows? - PullRequest
0 голосов
/ 26 декабря 2009

Я пытаюсь написать собственный элемент управления в c #, используя windows api, который должен взаимодействовать с любым текстовым приложением windows. например, блокнота

Я посмотрел на tinyspell, и он работает как угодно. Кто-нибудь может подсказать, с чего начать?

Также, если вы знаете, как будет работать tinyspell, помогите мне, пожалуйста.

вы можете найти здесь "http://www.tinyspell.m6.net/

Ответы [ 2 ]

0 голосов
/ 27 декабря 2009

Я, конечно, согласен с заявлением Дока Брауна о том, что вы говорите о написании приложения, а не о контроле. Также согласитесь с его утверждением о том, что вам нужно предоставить больше информации: как именно ваше приложение взаимодействует с этими другими приложениями, которые обрабатывают (мы предполагаем) неформатированный (один шрифт, один стиль, один размер) текст?

Если вы должны сделать это в C #, вам нужно будет использовать что-то вроде «глобальной ловушки», чтобы пользователь мог в любое время, с помощью специальной клавиатуры, активировать ваше приложение; о том, как это сделать в C #, см .: Статья Джорджа Мамаладзе «Обработка глобальных мышиных и клавиатурных хуков в C #»

Это также требует, однако, чтобы ваше приложение работало постоянно; обычно, если вы хотите, чтобы что-то работало постоянно, вы можете захотеть, чтобы ваше приложение было службой Windows. «Ненавязчивое» взаимодействие с любым конкретным «необработанным» приложением для обработки текста может включать в себя некоторые вещи API и / или использование старых «SendKeys», а также глубокие знания приложения: я думаю, вы не захотите "иди туда".

Скорее всего, вы захотите каким-то образом использовать буфер обмена как «средство обмена» между вашим приложением (или службой) и другими приложениями. Здесь много примеров в SO и CodeProject о том, как использовать буфер обмена в .NET и / или перетаскивать выборки в тексте между приложениями.

Удачи!

0 голосов
/ 26 декабря 2009

Из-за ваших комментариев вы не пытаетесь написать собственный элемент управления, а приложение, и C # не является обязательным. Я предлагаю взглянуть на AutoHock или AutoIt V3 . Я почти уверен, что то, что вы хотите, легче всего сделать с помощью этих языков сценариев. И если вам действительно нужно приложение на C #, вы можете использовать элемент управления Dll / Com AutoItX , включенный в AutoIt.

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