Windows On Screen Keyboard (osk.exe) зависает при нажатии мыши в строке заголовка OSK

У меня есть одно приложение C ++, которое преобразует сенсорные события в ввод мыши. я использую SendInput API для отправки событий мыши в системе Windows 7 (32/64-bit). Для разрешения пользователям вводить символы в приложениях я использую встроенную Windows экранная клавиатура (osk.exe).

Любое событие мыши, генерируемое моим приложением, которое происходит когда курсор находится над оформлением окна OSK-окна (строка заголовка, системное меню и т. д.), зависает мышь. Кажется, обрабатывается только событие нажатия кнопки мыши, так как я вижу, как OSK получает фокус. Мое приложение продолжает отправлять другие события мыши, но они не влияют на окно OSK. Единственный выход — нажать / отпустить физическую USB-мышь, подключенную к системе.

Странно то, что использование OSK для ввода символов с помощью нажатия кнопок мыши на клавиатуре OSK из моего приложения работает нормально. Просто попытка переместить (или закрыть) окно OSK останавливает работу мыши.

В качестве решения я попробовал следующие вещи:
(1) сделать UIAccess = TRUE в файле манифеста моего заявления
(2) Код приложения уже подписан
(3) Приложение находится в надежном месте

Но все же проблема возникает.

Если я запускаю свое приложение как администратор, тогда работает нормально. Но я не хочу, чтобы мое приложение запускалось как «Запуск от имени администратора».

Любое предложение?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]