Процедуры для открытия диалогового окна "Свойства Экрана"
Code:
{ **** UBPFD *********** by kladovka.net.ru ****
>> Процедуры для открытия диалогового окна "Свойства Экрана"
Зависимости: ShellApi
Автор: Gua, gua@ukr.net, ICQ:141585495, Simferopol
Copyright: Gua
Дата: 18 июля 2002 г.
********************************************** }
// Открытие диалогового окна "Display Properties"
procedure DisplayPropertiesWindow;
begin
ShellExecute(0,'open',Pchar('rundll32.exe'),'shell32.dll,Control_RunDLL Desk.cpl', nil, SW_normal);
end;
// Открытие диалогового окна "Display Properties" с закладкой Desktop
procedure DisplayPropertiesWindow_Desktop;
begin
ShellExecute(0,'open',Pchar('rundll32.exe'),'shell32.dll,Control_RunDLL Desk.cpl @0,0', nil, SW_normal);
end;
// Открытие диалогового окна "Display Properties" с закладкой Screen Saver
procedure DisplayPropertiesWindow_ScreenSaver;
begin
ShellExecute(0,'open',Pchar('rundll32.exe'),'shell32.dll,Control_RunDLL Desk.cpl @0,1', nil, SW_normal);
end;
// Открытие диалогового окна "Display Properties" с закладкой Settings
procedure DisplayPropertiesWindow_Settings;
begin
ShellExecute(0,'open',Pchar('rundll32.exe'),'shell32.dll,Control_RunDLL Desk.cpl @0,3', nil, SW_normal);
end;
Программный код, предоставленный в этом сообщении, написан на языке Object Pascal и используется для открытия диалогового окна "Display Properties" в операционной системе Windows.
Краткое описание каждого процедуры:
DisplayPropertiesWindow: Эта процедура открывает диалоговое окно "Display Properties" без указания конкретной вкладки.
DisplayPropertiesWindow_Desktop, DisplayPropertiesWindow_ScreenSaver и DisplayPropertiesWindow_Settings: Эти процедуры открывают диалоговое окно "Display Properties" с конкретными вкладками:
@0,0 для вкладки "Desktop"
@0,1 для вкладки "Screen Saver"
@0,3 для вкладки "Settings"
Эти процедуры используют функцию ShellExecute из Windows API для запуска конкретной команды, которая открывает желаемое диалоговое окно.
Работает следующим образом:
rundll32.exe - исполняемый файл в директории Windows, который запускает DLL и передает ей аргументы.
shell32.dll - библиотека, содержащая функции для работы с Windows shell, такие как открытие файлов и папок.
Control_RunDLL Desk.cpl - команда, которая запускает диалоговое окно "Display Properties". Desk.cpl - расширение панели управления для настроек отображения.
@0,x указывает, какой вкладкой открыть в диалоговом окне.
Функция ShellExecute принимает несколько параметров:
- hWnd: Обратный handle окна, которое владеет исполняемым файлом. В этом случае он установлен в 0, что означает, что окно будет открыто как отдельный процесс.
- operation: Определяет операцию, которую необходимо выполнить над исполняемым файлом. 'open' используется здесь для открытия диалогового окна.
- lpfileopendir: Имя исполняемого файла, который нужно запустить.
- lpverb: Дополнительная информация о операции, которая в этом случае является пустой строкой (nil).
- showcmd: Определяет, должен ли быть показан командный линей. В этом случае он установлен в SW_normal, что означает, что диалоговое окно будет открыто как обычное окно.
Надо отметить, что эти процедуры не очень гибки и могут не работать на всех версиях Windows или конфигурациях. Например, они предполагают, что расширение панели управления для настроек отображения называется "Desk.cpl", что может не быть случае в языковых или локализованных системах.
В статье представлены процедуры на языке Pascal для открытия диалогового окна "Свойства Экрана" в операционной системе Windows, а также возможности перехода к определенным закладкам.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.