Дайте мне посмотреть, смогу ли я описать, что я пытаюсь сделать.В настоящее время ваша мышь ограничена только перемещением в пределах размеров экрана.Я хочу снять это ограничение и позволить мыши продолжать работу за пределами (теоретически бесконечной), чтобы она управляла аспектами в программе, которую я строю, но затем возвращаю мышь обратно на экран, когда она возвращается в размеры экрана.,Поэтому я подумал, что, как только мышь достигнет края экрана и пробьет его, моя программа начнет подавлять отправку сообщений мыши (а также сообщений клавиатуры / буфера обмена), но затем продолжит мониторинг необработанной мыши (и клавиатуры / буфера обмена).) дельта изменяется с этого момента, пока не вернется в диапазон экрана.
У меня уже есть рабочий пример, который использует SetWindowsHookEx () и возвращает низкоуровневые события мыши, такие как WM_MOUSEMOVE, однако структура, которая являетсявозвращенный (MSLLHOOKSTRUCT), по-видимому, недостаточно низкий уровень для того, что я ищу, так как этот пример возвращает экранные координаты X и Y, но вместо этого мне нужно что-то ближе к дельте, чем к «визуализированным» координатам.Из документации кажется, что мне нужны данные RAWMOUSE.Существует много документации о типе данных RAWMOUSE, но не слишком много документации о том, как вы подключаетесь, чтобы получить этот тип сообщения.
Как уже упоминалось, я также собираюсь отслеживать события типа клавиатуры и буфера обмена.(для подавления, когда мышь находится за пределами экрана, управляет моей программой), так что, если есть лучший метод, позволяющий правильно их подключить к монитору / подавлению, но звучит так, что мне не обязательно нужны клавиатура и буфер обменасобытия должны быть необработанными данными, поскольку нет границ, которые клавиатура и буфер обмена могут нарушать, как мышь.Но я бы посчитал, что подавление клавиатуры / буфера обмена выходит за рамки моей нынешней проблемы, но будет полезно, если решение поможет решить и эту проблему.