Изменение яркости экрана на Windows через консоль - PullRequest
0 голосов
/ 07 марта 2020

Я пытаюсь написать простое консольное приложение для Windows 10, которое меняет яркость экрана. В конечном счете, я хочу использовать это приложение с AutoHotKey, но это вторично.

При исследовании этого почти все, что я нашел, ссылается на Android, что не помогает. Я нашел этот вопрос и ответ об изменении яркости экрана с помощью C, но, к сожалению, это для Linux.

Этот архив содержит скрипт, который ( хотя это выглядит довольно странно) производит хорошее впечатление, но оно

устарело, и во многих [Системы] оно не будет возвращать массив настроек полной яркости. Таким образом, если у вас должно быть 8 уровней, IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS вернет только 6 или ни одного вообще. (от jkiel, 1 )

Поэтому я бы предпочел использовать класс WmiMonitorBrightness ( 2 3 ) более IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS. Это также обеспечивает более тонкую гранулярность. Но мне не хватает навыков, чтобы правильно его использовать.

Как использовать класс WmiMonitorBrightness из приложения C или AutoHotKey для изменения яркости экрана на Windows 10?

1 Ответ

1 голос
/ 07 марта 2020

В поисках решения я нашел это программное обеспечение 2008 года, которое работает для меня как чудо на Windows 10. Разработчик предоставил источник C# и скомпилированное приложение здесь . «Для работы приложения вам потребуется Microsoft. NET Framework 2.0 или выше.»

Кроме того, он поддерживает полную детализацию настройки яркости на экране.

Для использования консольного приложения разрешены следующие параметры:

  • DisplayBrightnessConsole.exe Возвращает текущий уровень яркости.
  • DisplayBrightnessConsole .exe -getlevels Возвращает все возможные уровни яркости, принятые дисплеем, разделенные новой строкой.
  • DisplayBrightnessConsole.exe 20 (или какой-либо другой уровень яркости число) Устанавливает уровень яркости дисплея в соответствии с заданным параметром, в данном случае 20.

Код в настоящее время работает только в системах с одним дисплеем. Если ваша система имеет более одного дисплея, она будет работать только на первом (обычно основном) дисплее. Его должно быть довольно легко изменить, чтобы он поддерживал больше.


Возможно, полезно для людей, использующих python - но это не помогает в моем конкретном случае c:

Как обнаружить изменения яркости, используя Python и WMI на Windows 10?

...