Как установить действительно большой курсор мыши в Windows 10?

У меня есть приложение для Windows (детская игра, созданная с помощью Unity), для которого я хочу установить собственный курсор — у меня есть только двоичный файл для приложения, это не мой код. Приложение работает в полноэкранном режиме и, кажется, использует курсор Windows, курсор слишком мал, чтобы его могли легко увидеть дети.

Я хотел бы создать гораздо больший пользовательский курсор мыши из png и использовать его в игре. (намного больше, чем даже курсоры специальных возможностей Windows)

До сих пор я пробовал:

  1. Использование панели управления Windows 10 для установки курсора для всей ОС в виде ico-файла размером 160x160px. Затем Windows сжимает изображение до гораздо меньшего размера (64x64?).

  2. Написание приложения Windows Forms на С#, которое использует мой PNG в качестве пользовательского курсора, используя такой код:

    IntPtr ptr = myPng.GetHicon();
    myCursor = new Cursor(ptr);
    this.Cursor = myCursor;
    

Это частично работает: курсор такой большой, как я хочу, но он меняет курсор только для моего приложения, а не для ОС. (это ожидаемое поведение этих функций).

  1. Использование SetSystemCursor из user32.dll в моем приложении С# для установки общесистемного курсора на тот, который создан из моего PNG, как в 2. Это изменяет общесистемный курсор, но возвращается к уменьшению окнами до небольшого размера, как в 1 с ico .

Итак, возможно ли то, что я хочу сделать? Какой подход я пропустил?!


person Undef    schedule 21.09.2016    source источник
comment
В зависимости от технологии, которую Unity использует для установки курсора, вы можете создать собственный курсор во время выполнения (CreateCursor) и установите его для класса окна, связанного с приложением (SetClassLongPtr).   -  person IInspectable    schedule 22.09.2016
comment
Возможно, вам потребуется внедрить код (см. другие места в сети, как внедрить код в существующую игру Unity) и выполнить Cursor.SetCursor( с использованием пользовательской текстуры.   -  person Scott Chamberlain    schedule 22.09.2016


Ответы (1)


Вам нужно будет использовать стороннюю утилиту, такую ​​​​как MouseChanger, которая является бесплатной, доступной на sourceforge.

person John Brawn    schedule 21.09.2016
comment
Это ответ только по ссылке, за исключением того, что даже без ссылки. Или ответ, который превращает вопрос в вопрос, не относящийся к теме (запрос сторонних библиотек или инструментов не относится к теме). Это действительно должен быть комментарий (если вообще). - person IInspectable; 22.09.2016
comment
Джон, спасибо за ваше предложение, самое близкое, что я могу найти на SourceForge, это CursorChanger который выглядит так, как будто он будет увеличен до 64 пикселей, но не больше. Если это не то, что вы имели в виду, у вас есть ссылка? - person Undef; 23.09.2016