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