Поэтому я пытался сделать то же самое и в итоге использовал: https://zerowidthjoiner.net/negativescreen в режиме градаций серого, который легко вызывать программным способом.
Прежде чем я попробовал это, я столкнулся с чем-то интересным. Я попытался установить записи реестра для включения цветовой фильтрации:
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility] "Configuration"="colorfiltering" [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig] [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\colorfiltering] "Active"=dword:00000001 "FilterType"=dword:00000000 [HKEY_CURRENT_USER\Software\Microsoft\ColorFiltering] "HotkeyEnabled"=dword:00000001 "Active"=dword:00000001 "FilterType"=dword:00000000
Это не работает само по себе, потому что настройка не применяется. Интересно, что когда я запускаю всплывающее окно UAC, применяется цветной фильтр. Итак, позвонив
powershell Start-Process cmd.exe -Verb RunAs
настройка может быть применена программно. Это решение ужасно, поскольку генерируется фактическое всплывающее окно UAC.
Но если кто-то знает другой способ принудительно перерисовать окно (или что-то еще происходит при открытии UAC), то должна быть возможность программно применить измененную настройку.