ashok1042 Ответов: 3

В C# обработка события нажатия клавиши в MS Word


Есть ли какой-либо способ обработать событие нажатия клавиши уже открытого приложения word, чтобы обработать состояние ожидания и вызвать окно сообщения?

Слово не имеет каких-то конкретных событий нажатия клавиши.. :(

3 Ответов

Рейтинг:
2

MuhammadHassan-EXEIdeas

Microsoft Word VSTO не содержит событий нажатия клавиш, но вы можете сделать это с помощью некоторых других логик. Проверьте фрагмент кода по адресу Обнаружение изменений текста в Word 2016 из надстройки VSTO-переполнение стека.


Рейтинг:
1

Christian Graus

Word обрабатывает свои собственные события нажатия клавиш. Почему вы хотите добавить свой собственный ? Конечно, это тоже зависит от того, какая часть слова имеет фокус, я имею в виду, что если я нажму 2 в текстовой области, я просто хочу ввести 2, а не заставлять вас захватывать его.


ashok1042

Спасибо за ваш ответ, Кристиан!!

Мне нужно справиться с состоянием простоя документа, я имею в виду, как долго он простаивал. Поэтому я подумал о том, чтобы добавить таймер и сбрасывать его при каждом нажатии клавиши и щелчке мыши ... если время достигает определенного предела, например, 20 минут. Я хочу отобразить окно сообщения с надписью. "Этот документ простаивает в течение 20 минут.. Он автоматически закроется через 5 минут.."

Christian Graus

Быстрый Гугл дал мне http://support.microsoft.com/kb/302817 в котором перечислены все события, поддерживаемые word. Я не вижу ничего, что, как мне кажется, поможет вам, событие изменения документа происходит, когда вы меняете активный документ, а не когда документ изменяется.

Рейтинг:
1

Anup Kumar Gupta

Вы можете использовать крючки для события нажатия клавиши, чтобы получить значение нажатой клавиши. Это будет универсальное приложение WinForms, и вы сможете получать информацию о событиях в любом открытом приложении(включая MS Word).

Посетите эти ссылки, они обязательно вам помогут.
Страница справки MSDN о крючках

Простая реализация Крючков