Как перевести конкретный монитор в режим ожидания?
У меня есть установка с несколькими мониторами, которая имеет 4 монитора, использующих две видеокарты, и мне нужно переключить только один из них в режим ожидания. Я объясню причину, почему для любопытных внизу...
Вот как я сейчас это делаю: (Он переводит их всех в режим ожидания... Я хочу только один).
const
MON_ON = -1;
MON_OFF = 2;
procedure TMain.btnMonOFFClick(Sender: TObject);
begin
if Screen.MonitorCount > 1 then
begin
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, MON_OFF);
end;
end;
Это, как упомянуто выше, конечно, работает для всех мониторов, но я хочу знать, как я могу назначить это для конкретного монитора [3]?
Причина: я постоянно получаю экранное меню, появляющееся на мониторе 3 в случайном порядке, что очень раздражает, и мне приходится нажимать кнопку меню 4 раза, потому что оно всегда отображается вверх ногами! так что... в качестве временного решения на данный момент я подумал о переводе монитора в режим ожидания с помощью горячей клавиши, а затем через несколько секунд снова включил его через таймер. Вроде как просто мигание монитора, которое удаляет экранное меню, чтобы я мог продолжать работать, не злиться. Да, не фантастически или элегантно, но временно, пока я не получу новый монитор:)