@craimez

C#. Хук клавиатуры. После отработки хука возникает лишняя клавиша, как это исправить?

Есть хук на клавиатуру. Программа работает в фоновом режиме, хук отлавливает нажатия на горячую клавишу.
Когда горячая клавиша поймана, работа уходит в функцию. В этой функции я посылаю через SendKeys.Send() комбинацию ctrl-Insert, чтобы получить в буфер обмена то, что в данный момент выделил пользователь. Дальше программа отрабатывает свою предназначение, программа возвращается в хук и он отдает return (IntPtr)0; (Ну или изначально было CallBackNextHook ... )
Так вот, на некоторых компьютерах все работает отлично, как и нужно, но на других (windows 10, windows 7 - тут как повезет, в основном работает) выделенный текст затирается и вместо него вставляется последняя буква из комбинации для горячей клавиши. Скажем, нажал я ctrl-G, в текст вставилось просто G.
Ошибка возникает строго на определенных компьютерах, но никакой закономерности я не обнаружил.
Кто-нибудь может подсказать?
  • Вопрос задан
  • 2747 просмотров
Пригласить эксперта
Ответы на вопрос 1
vipuhoff
@vipuhoff
не видя кода сказать трудно, но скорее всего проблема кроется в неправильном использовании SendKeys.Send()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы