サスペンドでスクリーンセーバーが解除されないようにするには?


あゆあゆ  2005-07-01 04:47:58  No: 90753

スクリーンセーバーをかけてからサスペンドし、
サスペンドから復帰した後でもスクリーンセーバーが
有効な状態にしたいのですがうまくいきません。

SetSuspendStateを実行したタイミングでスクリーンセーバーが
勝手に解除されているみたいです・・・。
何かいい方法がありましたらご教授お願いいたします。

'サンプルコード
Private Sub cmd_Suspend_Click()

    'スクリーンセーバーをかける
    Call ShellExecute( _
        0, _
        "open", _
        "C:\WINNT\system32\logon.scr", _
        0, _
        0, _
        SW_SHOWNORMAL)
    
    'サスペンド状態に移行する
    SetSuspendState 0, 0, 0
    
End Sub


ななし  2005-07-02 03:43:01  No: 90754

うまくいくかどうか分かりませんが、とりあえず
「復帰を検知する」方法だけ。
プログラム内で
WM_POWERBROADCASTメッセージを監視して
PBT_APMRESUMESUSPEND通知であった場合は
スクリーンセイバーを設定?(起動?)する。
のはどうでしょう。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnw2kcli/htm/AppSpecDesk7.asp

#「スクリーンセーバーが有効な状態」というのは
#スクリーンセイバーを設定した状態
#スクリーンセイバーが起動している状態
#どちらでしょうか?(私にはどちらも回答できないかも)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加