2010-03-03 3 views
3

Я пишу приложение, пользователи которого будут использовать ZoomText и планшетный ПК. ZoomText - программное обеспечение для увеличения экрана. Однако ZoomText имеет ошибку, которая предотвращает правильную работу отслеживания планшета, что означает, что взаимодействие с пальцем и пером с экраном неверно. Когда вы увеличиваете масштаб прямоугольника на экране и нажимаете на что-то, вы фактически нажимаете на абсолютные координаты, как если бы ZoomText не работал.Как вставить мой код между текстовым редактором и Windows?

Я пытаюсь написать программу, которая исправит это поведение. ZoomText имеет COM API, который позволяет мне знать масштаб и местоположение. Это означает, что, если бы я мог получить между ZoomText и операционной системой, я мог бы перехватить входной сигнал пера/касания, перевести координаты с учетом увеличения и местоположения ZoomText, а затем передать вход обратно в операционную систему.

С какого места следует начинать? Я даже не знаю, с чего начать искать, как это реализовать.

ответ

1

Я думаю, что путь для этого - крючок с низким уровнем мыши. Используйте SetWindowsHookEx с крючком типа WH_MOUSE_LL.

+0

Это отличный ключ, и я немедленно начну расследование. Однако первый вопрос, который приходит на ум, - как я могу убедиться, что я на один уровень ниже в цепочке, чем ZoomText? – andrewrk

+0

У вас нет. Вы либо будете ниже, либо не будете. Или это будет зависеть от того, кто работает первым. Но нет режима «Я важнее всех остальных». –

+0

Это решение не работает. Низкоуровневые мышиные крючки недостаточно низкие, чтобы установить курсор мыши, пока остальная часть ОС не ответит на координаты. Особенно при работе с планшетом. – andrewrk