Такое поведение задумано и хорошо.
Посмотрите на стандартные процедуры, такие как SetCursor , и вы увидите это:
Курсор является общим ресурсом. Окно должно устанавливать форму курсора только тогда, когда курсор находится в своей клиентской области или когда окно захватывает ввод мыши. В системах без мыши окно должно восстановить предыдущий курсор до того, как курсор покинет клиентскую область или до того, как он передаст управление другому окну.
Вы не должны пытаться переопределить курсор для других приложений. Это плохой гражданин в системе. Пока ваше приложение активно или у вас есть ввод мыши с помощью захвата окна, курсор, установленный с помощью Mouse.OverrideCursor
, будет оставаться активным.
Учитывая, что вы действительно не заботитесь о хорошей игре, вы всегда можете сделать все возможное, чтобы ваша программа взяла на себя управление системой. Просто запустите главное окно как полноэкранное приложение с окном над каждым монитором в системе и установите для всех них значение Topmost. Установите курсор, и мышь никогда не покинет окно.
Пока вы занимаетесь этим, вам следует подумать о том, чтобы загрузить кучу этих симпатичных изображений единорога со страницы StackOverflow Users и выложить на них фон окон. Это действительно добавит хороший, тонкий эффект на рабочий стол пользователя.