代码之家  ›  专栏  ›  技术社区  ›  rossmcm

启动和停止屏幕保护程序

  •  1
  • rossmcm  · 技术社区  · 14 年前

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

        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 ;
    

    1 回复  |  直到 14 年前
        1
  •  3
  •   Remy Lebeau    14 年前

    SPI\U SETSCREENSAVEACTIVE实际上并不启动/停止屏幕保护程序。这意味着实际的屏幕保护程序打电话让操作系统知道他们正在运行或退出。要启动屏幕保护程序,请尝试向GetDesktopWindow()窗口发送WM\u SYSCOMMAND/SC\u SCREENSAVE消息。

    推荐文章