function ScreenSaverEnabled: Boolean;
var
status: Bool;
begin
SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, @status, 0);
Result := status = True;
end;
procedure TForm1.Button1Click(Sender: TObject);
beginif ScreenSaverEnabled then
Caption := 'Screensaver is enabled.'
else
Caption := 'Screensaver is disabled.'
end;
Программный код на Delphi, который проверяет, включен ли экранной сэвер или нет.
Функция ScreenSaverEnabled использует функцию Windows API SystemParametersInfo, чтобы получить текущее состояние экранной сэвера. Флаг SPI_GETSCREENSAVEACTIVE используется для получения статуса экранной сэвера, который затем хранится в переменной status.
Если результат сравнения между status и True равен True, то это означает, что экранная сэвер включена; иначе, она отключена.
Обработчик события Button1Click проверяет, включена ли экранная сэвер, используя функцию ScreenSaverEnabled. Если экранная сэвер включена, то изменяется заголовок формы на 'Screensaver is enabled.'; иначе, он устанавливается в 'Screensaver is disabled.'.
Альтернативное решение не использует функцию SystemParametersInfo:
function ScreenSaverEnabled: Boolean;
begin
Result := Windows.SystemParameters.ScreensaverEnabled;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ScreenSaverEnabled then
Caption := 'Screensaver is enabled.'
else
Caption := 'Screensaver is disabled.';
end;
В этом решении мы используем свойство Windows.SystemParameters.ScreensaverEnabled, чтобы получить статус экранной сэвера. Это свойство возвращает булевое значение, указывающее, включена ли экранная сэвер или нет.
Статья описывает функцию ScreenSaverEnabled на языке Delphi, которая определяет, включен ли хранитель экрана, и ее использование в приложении для отображения соответствующего сообщения.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS