gpt4 book ai didi

delphi - 启动和停止屏幕保护程序

转载 作者:行者123 更新时间:2023-12-02 01:01:20 25 4
gpt4 key购买 nike

我想应该很简单。我想强制电脑进入屏幕保护模式,并在我通过 D2006) 应用程序 checkin 的条件满足时退出它。它似乎不起作用:

    if ScreenSaverExitRequested then
begin
SystemParametersInfoResult := SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, @ScreenSaverIsRunning, 0);
if ScreenSaverIsRunning then
begin
SystemParametersInfoResult := SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, UINT(false), nil, SPIF_SENDWININICHANGE);
end ;
end ;
....
if ScreenSaverEntryRequested then
begin
SystemParametersInfoResult := SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 1, nil, SPIF_SENDWININICHANGE) ;
end ;

SystemParametersInfoResult 在每种情况下都返回 true。对 SystemParametersInfo 的调用似乎没有任何效果。如果我使用“控制面板显示属性”对话框上的“预览”按钮将 PC 置于 SS 模式,则执行我的代码不会执行任何操作。

最佳答案

SPI_SETSCREENSAVEACTIVE 实际上并不启动/停止屏幕保护程序。它的目的是让实际的屏幕保护程序调用,让操作系统知道它们正在运行或退出。要启动屏幕保护程序,请尝试向 GetDesktopWindow() 窗口发送 WM_SYSCOMMAND/SC_SCREENSAVE 消息。

关于delphi - 启动和停止屏幕保护程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3527201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com