Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как показать окно свойств экрана

Delphi , ОС и Железо , Монитор и Экран

Как показать окно свойств экрана

Я сижу за монитором
нажимаю на мыша
и смотрю погасшим взором,
как стреляет П.П.Ш.

Для этого воспользуемся 'Rundll32.exe' и запустим её в 'shellexecute'. Не забудьте добавить 'shellapi' в Ваш список uses.


//Эта функция совместима со всеми версиями Windows
function GetSystemDir: TFileName;
var
  SysDir: array [0..MAX_PATH-1] of char;
begin
  SetString(Result, SysDir, GetSystemDirectory(SysDir, MAX_PATH));
  if Result = '' then
    raise Exception.Create(SysErrorMessage(GetLastError));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  x: Tfilename;
begin
  x := getsystemdir;
  ShellExecute(Form11.Handle, 'open', Pchar('rundll32.exe'),
  'shell32.dll,Control_RunDLL Desk.cpl,@0,3', Pchar(X), SW_normal);
end;

Код, который вы предоставили, написан на языке Delphi и предназначен для отображения окна свойств дисплея с помощью командной утилиты 'Rundll32.exe'.

Вот подробное описание того, что каждый раздел делает:

  1. Функция GetSystemDir:
    • Эта функция возвращает путь к директории, где Windows хранит системные файлы.
    • Она использует API-функцию GetSystemDirectory для получения пути, который хранится в массиве (SysDir) символов.
    • Функция выбрасывает исключение, если происходит ошибка (например, из-за недостаточной памяти или недопустимого параметра).
  2. Процедура Button1Click:
    • Эта процедура вызывается при клике на кнопку 'Button1' на форме.
    • Она вызывает функцию GetSystemDir, чтобы получить путь к системной директории, и хранит его в переменной (x).
    • Затем она использует API-функцию ShellExecute для запуска командной утилиты 'Rundll32.exe', которая отображает окно свойств дисплея.

Вот возможное альтернативное решение с более современным подходом на языке Delphi:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExec(0, 'rundll32.exe shell32.dll,Control_RunDLL desk.cpl,@0,3', '', SW_NORMAL);
end;

В этом варианте функция ShellExec используется напрямую для запуска командной утилиты без необходимости хранить путь к системной директории отдельно. Параметры передаются аналогично оригинальному коду.

Обратите внимание, что вам нужно добавить unit 'shellapi' в начало вашего файла Delphi и добавить строку 'uses shellapi;' для использования этих функций.

В статье описывается способ открытия окна свойств экрана в Windows с помощью выполнения команды Rundll32.exe с использованием функции ShellExecute и библиотеки shellapi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Монитор и Экран ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:59:47/0.0055258274078369/1