Как перевести конкретный монитор в режим ожидания?

У меня есть установка с несколькими мониторами, которая имеет 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 раза, потому что оно всегда отображается вверх ногами! так что... в качестве временного решения на данный момент я подумал о переводе монитора в режим ожидания с помощью горячей клавиши, а затем через несколько секунд снова включил его через таймер. Вроде как просто мигание монитора, которое удаляет экранное меню, чтобы я мог продолжать работать, не злиться. Да, не фантастически или элегантно, но временно, пока я не получу новый монитор:)

0 ответов

Другие вопросы по тегам