
Последние записи
- Как из ip адреса вывести последние цифры
- Вставка символа Unicode в RichEdit в Delphi 7
- Как поменять иконки все папок Windows 11 со стандартной желтой на свою?
- WinIO для чтения/записи портов I/O и физической памяти
- Delphi: Вывести N директорий в заданной (без рекурсии вложенных папок)
- Дополнительные кнопки мышки
- Курсы программистов. Стоит ли?
- Удаление одинаковых строк
- Создание потоков в процессе
- Вывод на печать графического файла

Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
20th
Янв
Управление отображением рабочего стола Windows на нескольких экранах
Posted by Человек_Борща under Delphi, Win Api, Windows, Пост-обзор, Топик-обзор
Пост на основе этой темы.
В настройках персонализации есть настройки экрана, которые позволяют управлять отображением рабочего стола на одном и более экранах, одновременно.
Как же управлять этим программно?
Начиная с ОС Windows 7 есть специальная системная утилита: displayswitch.exe живет в %SystemRoot%\System32\ папке.
Принимает параметры:
- /internal — Отображать рабочий стол только на основном мониторе
- /clone — Отображать рабочий стол на всех мониторах (клонирование)
- /extend — Расширить рабочий стол на кол-во мониторов (Имея 2 монитора, 50% рабочего стола будет отображена на 1, остальные 50% на втором).
- /external — Отображать рабочий стол только на втором мониторе (Основной будет выключен)
Пример использования в Delphi:
//Добавить в uses модули ShellAPI,SysUtils,Windows
var
sDir:string; //Рабочая папка приложения displayswitch.exe
begin
sDir:=IncludeTrailingPathDelimiter(GetEnvironmentVariable('SYSTEMROOT')) + 'System32\';
ShellExecute(0,PChar('Open'),PChar(sDir+'displayswitch.exe'),PChar(' /extend'),PChar(sDir),SW_HIDE);
end;
Данный пример, скрытно, переключает рабочий стол в режим расширенного отображения на всех подключенных экранах.
Спасибо: doktor255
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)