Blog. Just Blog

VESA Commander 1.1

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Мои программы | Автор: ManHunter
Скриншот программы VESA Commander
Скриншот программы VESA Commander

VESA Commander - консольная программа для получения различной технической информации и тестирования мониторов с поддержкой стандарта VESA DDC/CI. Она позволяет получить текущее значение и описание любого из поддерживаемых монитором VCP кодов, а также изменить это значение, если это возможно. Таким образом, например, вы можете включить или выключить монитор, поменять язык экранных подсказок, изменить яркость или контрастность, выбрать цветовой профиль, а также сделать со своим монитором еще много чего интересного. Список VCP кодов стандартизирован и описан в документе VESA Monitor Control Command Set (MCCS), там же приводится формат и описание большинства значений передаваемых и получаемых параметров.

Команды:
list - получение списка установленных мониторов
set [monitor] [code] [value] - установить новое значение VCP кода для монитора
get [monitor] [code] - получить значение VCP кода для монитора
all [monitor] - получить список поддерживаемых VCP кодов
cap [monitor] - получить строку параметров для монитора

Значения параметров [code] и [value] указываются в шестнадцатеричной системе счисления.

Примеры использования:

vesacom list
Получить список установленных мониторов. Число перед названием монитора используется в качестве параметра [monitor] для всех остальных команд.

vesacom cap 1
Получить строку поддерживаемых параметров монитора №1. Это техническая информация в кодированном формате, в большинстве случаев она нужна только специалистам.

vesacom all 1
Получить строку поддерживаемых параметров и список всех доступных VCP кодов для монитора №1. По возможности для некоторых кодов также выводятся их допустимые значения.

vesacom get 2 c8
Получить значение VCP кода C8h (Display Usage Time) для монитора №2.

vesacom set 1 d6 5
Выключить монитор №1.

vesacom set 1 cc 2
Установить английский язык экранных надписей для монитора №1.

vesacom set 2 4 1
Сбросить монитор №2 к заводским настройкам.

Для использования в пакетных файлах предусмотрены коды возврата в зависимости от выполняемой команды.

Команда list:
errorlevel = количество установленных мониторов

Команда set:
errorlevel = 65534 - код не поддерживается
errorlevel = 65533 - попытка изменить read-only код
errorlevel = 1 - команда успешно выполнена
errorlevel = 0 - команда выполнена с ошибкой

Команда get:
errorlevel = 65534 - код не поддерживается
errorlevel = CurrentValue в случае успешного выполнения

Общее для команд set, get, all, cap:
errorlevel = 65535 - монитор не поддерживает стандарт VESA DDC/CI
errorlevel = 65532 - монитор не найден
errorlevel = 65530 - аварийное завершение по Ctrl+C

Вся информация выводится на stdout, так что вы можете перенаправлять ее как угодно. Поддерживаются системы Windows Vista и выше.

Утилита VESA Commander работает напрямую с железом, поэтому будьте внимательны и осторожны при ее использовании. Со своей стороны я постарался предусмотреть потенциально опасные ситуации, но все равно вы должны четко понимать, что и зачем вы делаете, особенно при изменении значений различных VCP кодов. Я не несу никакой ответственности за результаты применения этой утилиты.

VESA Commander 1.1VESA Commander 1.1

VESA.Commander.1.1-PCL.zip (36,232 bytes)


Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 1099 | Комментариев: 21

Комментарии

Отзывы посетителей сайта о статье
ControlMyMonitor (25.03.2020 в 00:54):
ЦитатаНо она не дотягивает по некоторому функционалу.

Само собой :)
ManHunter (23.03.2020 в 00:21):
Есть. Но она не дотягивает по некоторому функционалу.
ControlMyMonitor (23.03.2020 в 00:19):
Есть ещё такая вот программулина:
https://www.nirsoft.net/utils/...monitor.html
user (28.01.2020 в 05:08):
Поправка к предыдущему посту:
Опечатка в имени программы. Правильно:
"vesacom.exe 1 10 0"
user (28.01.2020 в 04:56):
Программа очень пригодилась.
На работе имеется человек, выкручивающий яркость монитора на 70%,
тогда как мне нужна яркость 0%.
Вот и был составлен и помещён в автозагрузку такой пакетный файл:
"vgacom.exe 1 10 0"
И теперь при запуске то, что надо. А он пускай выкручивает.
ManHunter (25.01.2020 в 17:57):
Это лишнее. На свете немыслимое количество готового софта, чья задача состоит именно в запуске процессов по горячим клавишам и/или из трея. Городить интерфейс для узкозаточенной консольной программы не считаю правильным.
Rustamer (25.01.2020 в 17:54):
Использую постоянно для переключения между мониторами. Очень удобно быстро переключаться между ноутбуком и домашним компом. И вот сейчас возникла очевидная хотелка - переключение по горячим клавишам и через трей. В такой ситуации придется держать сабж в автозагрузке и делать интерфейс, но имхо оно того стоит. Можно конечно выкрутиться сторонними решениями  или написать свое, но просто как идея для развития.
Guest (23.01.2020 в 12:00):
Филип, спасибо за совет, у меня это работает, а вот из "полностью" выключенного состояния не выводится ни по set X d6 1 ни по set X d6 0, вероятно дежурное питание отключается правильно.
ManHunter (17.01.2020 в 14:23):
Версия 1.1. Добавлены описания для известных значений параметров. Добавлена проверка версии Windows, т.к. все функции доступны только в Vista и выше, выполнена оптимизация и сделаны прочие мелкие изменения.
Филип (16.01.2020 в 19:44):
По поводу коматозного состояния № 4 :)

Монитор из него выводится командой set X d6 1, где X - номер коматозного монитора :)

Что любопытно, из "полностью" выключенного состояния монитор выводится той же самой командой. Получается, он хоть и спит, но курей бачит :)
ManHunter (19.12.2019 в 23:30):
ЦитатаWould be possible to control more attached monitors at once?

Sorry, but simultaneous control for different monitors is very ambiguous. Use .BAT-files, for example:

Цитата@echo off
vesacom list
for /L %%i in (1,1,%errorlevel%) do vesacom set %%i 10 3c

Result for my system:

1 - Philips 240B7QPT (24 inch Wide LCD MONITOR) - 1920x1200
2 - Универсальный монитор PnP - 1920x1080
Philips 240B7QPT (24 inch Wide LCD MONITOR)
VCP code: 10h (Luminance, READ/WRITE)
Sets value: 3Ch, result: OK
Универсальный монитор PnP
VCP code: 10h (Luminance, READ/WRITE)
Sets value: 3Ch, result: OK
Ejs (19.12.2019 в 20:11):
Great program! Thanks much.
Would be possible to control more attached monitors at once?
for example:
vesacom.exe set * 10 3c
to control Luminance on both (or more) displays simultaneously?
Compiller (17.12.2019 в 00:23):
Ура!
Спасибо!

c:\TEMP\VESA>vesacom.exe set 2 60 01
LG L2000C(Digital)
VCP code: 60h (Input Source, READ/WRITE)
Available values: 01h, 03h
Sets value: 01h, result: OK

c:\TEMP\VESA>vesacom.exe set 1 60 03
LG L2000C(Analog)
VCP code: 60h (Input Source, READ/WRITE)
Available values: 01h, 03h
Sets value: 03h, result: OK
Входы переключаются.
Для дебага можно пивот от LG поковырять.
forteManager_v318
на сайте LG выгугливается - хотя оно и древнее, или EntechTaiwan MonitorInfoTool
АндрейК (12.12.2019 в 15:36):
Я просто привёл цифры. Возможно они кому-то пригодятся, а кому-то бесполезны.

Выбирая комфорт для глаз ориентируюсь по ощущениям (ориентируюсь на удобство чтения мелких деталей в первую очередь). Видел как некоторые принципиально выкручивают "яркость" на максимум. Их глаза, их право, возможно им так удобнее.
ManHunter (11.12.2019 в 10:38):
Если выбирать между комфортом для глаз и копейками, то я выберу глаза.
АндрейК (11.12.2019 в 10:08):
Извините что влезаю в софтовую тему, но
Возможно кому-то будет интересно узнать о энергопотреблении "обычного монитора" (на примере PHILIPS 23" с IPS матрицей. Цифры верны для конкретного монитора, но весьма схожи с аналогичными)

Практически только "Яркость" влияет на энергопотребление и влияет так:
  0% -  8,0 Вт
50% - 14,9 Вт
100% - 21,6 Вт
зависимость линейная, потому только три значении.
Изменение значения "контраст" практически не влияет на энергопотребление либо разница не превышает +/- 0,1 Вт.

В режим "ожидания" ~ 0,3 Вт.

Немного бухгалтерии. За год "нагорит", при цене 1 кВт/час в 5 рублей
В режим "ожидания" - 0,50 руб.
При яркости 0% - 8*365*24/1000*5 = 350,4 руб.
При яркости 100% - 21,6*365*24/1000*5 = 946,08 руб.
АндрейК (11.12.2019 в 09:18):
Весьма полезная утилита. Спасибо.
ManHunter (09.12.2019 в 21:32):
На работе сервера крутятся под CentOS, так что волей-неволей приходится понемногу разбираться. Каждому свое, мне привычнее винда, Linux на десктопе не практикую.
u-b0at (09.12.2019 в 20:53):
О! Спасибо за линк)
Кстати, а как лично Вы оцениваете "ось" Linux? Работали с ней? Ваше мнение?
ManHunter (09.12.2019 в 14:23):
Я не пишу под Linux. Тем более под него уже все написано: https://habr.com/ru/post/94990/
u-b0at (09.12.2019 в 14:23):
Версии для Linux будут?

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2020
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.1 сек. / MySQL: 2 (0.0027 сек.) / Память: 5 Mb
Наверх