我正在编写这个用户模式可执行文件,它可以在登录用户的上下文中从 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。我查阅了文档,它有这样的解释:
如果机器已进入省电模式或系统锁定状态,则会发生 ERROR_OPERATION_IN_PROGRESS 异常。
好的,但是我该如何处理这个错误呢?
PS。这在 Windows 8 上最常发生。