単純なはずだったと思いました。PCを強制的にスクリーンセーバーモードにし、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 ;
SystemParametersInfoResultは、いずれの場合もtrueを返します。SystemParametersInfoの呼び出しは効果がないようです。[コントロールパネルの表示プロパティ]ダイアログの[プレビュー]ボタンを使用してPCをSSモードにした場合、コードを実行しても何も起こりません。