Как скрыть и отключить курсор глобально? - PullRequest
0 голосов
/ 03 мая 2010

У меня два вопроса:

  1. Как скрыть курсор для всех программ? Я пытался скрыть курсор с помощью ShowCursor , но он работает только в моей программе. Курсор все еще появляется при движении курсор вне моей программы.
  2. Как отключить операции мыши для всех программ? Я использую SetWindowsHookEx, чтобы подключить мышь и запретить другим программам обрабатывать операции мыши. Я могу зацепить щелчки, но проблема в том, что я не могу зацепить «движение». Когда я перемещаю мышь в меню или системные кнопки («свернуть / восстановить / закрыть»), они подсвечиваются. Это означает, что они все еще могут «видеть» мышь.

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 4 ]

4 голосов
/ 03 мая 2010

Я удивляюсь, что вы пытаетесь сделать, но самый простой способ сделать это, предполагая, что у вас есть приложение с хорошим поведением, это использовать SetCapture и ReleaseCapture когда у вашего приложения есть окно на переднем плане. Вы также можете использовать ClipCursor(RECT *), чтобы курсор оставался в окне под вашим контролем.

0 голосов
/ 03 мая 2010

Единственной законной причиной (которую я могу себе представить) для этого было бы создать "киоск". Если это ваша цель, найдите или переформулируйте вопрос как вопрос с киоска.

0 голосов
/ 03 мая 2010

Вы можете использовать SetCursorPos, чтобы курсор находился в центре вашего окна. Пожалуйста, не прячьте мой курсор мыши, он не ваш.

0 голосов
/ 03 мая 2010

Трудно скрыть курсор в глобальном масштабе. Вы можете создать полноэкранное, прозрачное окно и использовать ShowCursor для этого, но, конечно, он также будет получать все события мыши. Возможно, это работает для вашего конкретного случая, поскольку вы также хотите отключить ввод с помощью мыши.

Вы можете использовать SetWindowsHookEx с крючком WH_MOUSE_LL, чтобы отключить движение мыши. Если вы вернете ненулевое значение из своей процедуры подключения, курсор мыши останется на месте.

Несмотря на это, звучит так, будто вы пытаетесь сделать что-то злое или, по крайней мере, то, что вашим пользователям может не понравиться. Я бы посоветовал дважды подумать, действительно ли это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...