ログインしているユーザーのコンテキストで、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 で最も頻繁に発生します。