Мне интересно, как можно создать исполняемый пакетный скрипт или консольное приложение (C#, C++) это переведет монитор в режим ожидания - чтобы он вел себя так же, как если бы я удерживал кнопку питания монитора, выключите его, когда включены настройки > кнопка питания > режим ожидания. У меня есть два монитора MSI G274QPX (и монитор Asus в качестве основного, но мне нужно управлять только мониторами MSI).
Когда этот параметр включен, и я удерживаю кнопку, чтобы «повернуть монитор off» выключается только дисплей, в то время как Windows видит дисплей как полностью подключенный (можно перемещать туда мышь или другие окна, как если бы монитор был полностью включен) — это идеальное поведение, которого я хочу добиться с помощью сценария.
Почему? Всего у меня три монитора, и когда я играю/просматриваю контент, я могу использовать только один монитор или все три. А чтобы уменьшить свет, излучаемый мониторами, я хотел бы создать макрос, который запускает сценарий для перевода одного конкретного монитора в режим ожидания, чтобы я мог управлять двумя дополнительными мониторами по отдельности.
Возможно ли вообще то, что я хочу? Если да, то как я могу это сделать? Если это не так, я сам рассмотрю альтернативные решения, описанные ниже. Если у вас нет другого предложения?
Мои попытки решить проблему
Мне удалось добиться только трёх вещей, когда пытаюсь сделать скрипт сам:
- переведите ВСЕ мониторы в режим ожидания. Включается снова после перемещения мыши или нажатия клавиши.
- Мне нужен только один конкретный монитор, чтобы перейти в режим ожидания и оставаться в этом режиме, пока я не захочу, чтобы он включился. снова включить
- Полностью выключить монитор (ControlMyMonitor.exe от Nirsoft)
- Я не хочу, чтобы он отключался от Windows, чтобы все приложения оставались на месте и все такое. Не говоря уже о том, что вы не сможете снова включить монитор с помощью сценария, если он полностью выключен.
-
отключить монитор в Windows (MultiMonitorTool.exe от Nirsoft)
- Поначалу это выглядело приемлемым решением, за исключением того, что после повторного включения всегда портилось расположение монитора. для его включения требуется ручная регулировка положения монитора. Полагаю, я мог бы также настроить их вручную с помощью MultiMonitorTool, но поскольку монитор «полностью отключается» (приложения, которые были там размещены, перемещены, и Windows требуется немного времени, чтобы наверстать упущенное), я не думаю, что хочу использовать это решение.< /li>
Если что, я поиск невозможен, я подумал о двух альтернативных решениях для достижения аналогичных результатов.
- Скрипт просто помещал пустое черное изображение на передний план экрана и уменьшите яркость до 1.
- Поскольку это ЖК-дисплей, подсветка все равно будет включена. Он не очень яркий, но в идеале я бы хотел, чтобы подсветка была полностью выключена. «Выключение/включение экрана» происходит довольно быстро, так что это здорово.
- Переключить вход монитора с От 7 до 6 (похоже, что этот результат все еще считается DP? Числа, кроме 6 7 8, похоже, ничего не делают)
- Я узнал из Я переключаю источник входного сигнала монитора через ControlMyMonitor.exe, он полностью гаснет, прежде чем снова включиться (автоматическое сканирование источника входного сигнала отключено, прежде чем вы спросите). Технически, если бы я зациклил отправку этой команды, я бы достиг того, чего хочу. Но отправлять эту команду примерно каждые 5 секунд кажется... неправильным. Я думаю, что я бы предпочел использовать первое альтернативное решение. (плюс требуется около 10 секунд, чтобы изображение снова появилось)
Подробнее здесь: https://stackoverflow.com/questions/785 ... sconnedtin