C # Отправка ввода с клавиатуры - PullRequest
10 голосов
/ 04 декабря 2008

Как я могу отправлять сообщения ввода с клавиатуры либо в текущее выбранное окно, либо в ранее выбранное окно?

У меня есть программа, которую я использую для ввода некоторых символов, которых нет на моей клавиатуре, и мне бы хотелось, чтобы я мог просто отправлять ввод напрямую, а не копировать и вставлять все время.

EDIT:

Применение этого - набирать немецкие умлауты. Я американец и работаю в Германии. Я работаю над американской клавиатурой, и время от времени мне приходится набирать умлауты / символ евро / диез S. В настоящее время у меня есть простое приложение WinForms с текстовым полем и некоторыми кнопками с дополнительными символами на нем. Я набираю текстовое поле и могу нажимать кнопки, чтобы добавить текст в текстовое поле. Затем я копирую текст и вставляю его куда угодно. Что было бы хорошо, если бы я мог просто нажать одну из кнопок, и он отправил бы текст, где бы я ни печатал / печатал. Текущая программа работает довольно хорошо, но я мог бы сделать ее лучше.

Ответы [ 3 ]

12 голосов
/ 04 декабря 2008

SendKeys.Send поможет вам в этом.

3 голосов
/ 04 декабря 2008

Посмотрите на System.Windows.Forms.SendKeys.Send (строка). Это позволяет отправлять нажатия клавиш активному в данный момент приложению.

Обновление: только что нашел это на форумах MSDN: MSDN Forum

0 голосов
/ 04 декабря 2008

Если его нет на вашей клавиатуре, вы можете просто добавить кнопку и отправить кодовую клавишу этого символа в ссылочный объект, к которому вы хотите добавить этот символ. Дайте нам пример того, что вы хотите, мы могли бы показать вам некоторый код.

Краткий пример кода:

myField.Text += "®"; //This is a char that I do not have on my keyboard
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...