C # Устанавливает GlobalHotKey и после его нажатия сравнивает текст в буфере обмена и устанавливает для него что-то другое

#c# #winforms #clipboard

#c# #winforms #буфер обмена

Вопрос:

Я пытаюсь создать фоновое запущенное «приложение», которое при нажатии горячей клавиши (например, Num0) сравнивает входящие из буфера обмена (CTRL C), выполняет поиск в предварительно заданном наборе данных и устанавливает значение буфера обмена на что-то другое (после нажатия CTRL V что-тополучается другое). Пожалуйста, помогите мне с реализацией GLOBALHOTKEY. Метод, используемый для вставки данных в буфер обмена, — это буфер обмена.setText («Новый буфер обмена»);

Комментарии:

1. Взгляните на репозиторий GitHub GlobalHotKey .

2. Вы можете использовать RegisterHotKey() . Недостатком здесь является то, что если ваша желаемая комбинация уже принята, то регистрация завершится с ошибкой.

3. Альтернативой может быть использование низкоуровневого подключения клавиатуры через WH_KEYBOARD_LL . Примеров здесь предостаточно в SO и в Интернете.