Почему SetDeviceGammaRamp не влияет на цвет курсора? - PullRequest
0 голосов
/ 28 января 2019

Я пишу свою собственную утилиту для настройки цветовой температуры моего дисплея (аналогично f.lux), используя SetDeviceGammaRamp для настройки относительной яркости каналов RGB.Это работает, однако, он оставляет курсор мыши без изменений.Мое первоначальное впечатление было, что это LUT просто не применяется к аппаратному курсору графического процессора.Однако позже я заметил, что, если я использую приведенный ниже код для изменения системного курсора, он корректируется цветом.

Bitmap bmp = new Bitmap(@"cursor.png");
Cursor cur = new Cursor(bmp.GetHicon());
Win32.SetSystemCursor(cur.Handle, 32512); //32512 = OCR_NORMAL

Однако следующее не работает (без коррекции цвета)

var cur = Win32.LoadCursorFromFile(@"cursor.cur");
Win32.SetSystemCursor(cur, 32512); //32512 = OCR_NORMAL

Я только думаю, что, возможно, первый пример каким-то образом заставляет Windows превращаться в программный курсор.

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