gpt4 book ai didi

c++ - SystemParametersInfo 和 ERROR_OPERATION_IN_PROGRESS

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:06 24 4
gpt4 key购买 nike

我正在编写这个用户模式可执行文件,它可以在登录用户的上下文中从 Windows 平台上的本地服务运行。它的主要目的是配置所有登录用户的桌面。它调用以下 API 来设置屏幕保护程序:

if(!SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, nTimeoutSec, 0, 0))
{
//Error
GetLastError();
}

if(!SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, nActive, 0, 0))
{
//Error
GetLastError();
}

上面的代码在大多数情况下都有效,除了有时我有多个用户登录到 Windows 控制台时,我会收到这个奇怪的错误 ERROR_OPERATION_IN_PROGRESS。我查了documentation它有这样的解释:

If the machine has entered power saving mode or system lock state, an ERROR_OPERATION_IN_PROGRESS exception occurs.

好的,但是我该如何处理这个错误呢?

附言。这种情况最常发生在 Windows 8 上。

最佳答案

SPI_SETSCREENSAVEACTIVE 会产生一些错误并且什么都不做。尝试发送 WM_SYSCOMMANDSC_SCREENSAVE 消息发送到 GetDesktopWindow() 窗口。

关于c++ - SystemParametersInfo 和 ERROR_OPERATION_IN_PROGRESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928953/

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