掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
起動済みのスクリーンセーバーを停止させるには (ID:49627)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
一度起動したスクリーンセーバーを停止させる処理を何パターンか作ってみたのですが Windows7までは動作するもののWindows10では機能しません。 なにか良い方法はないでしょうか? 開発環境はDelphi2007 や XE2です。 よろしくお願いします。 // シフトキーを押して離してみたがだめ SendInputで作ってもだめ keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0); keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); // マウスを動かしてみたがだめ GetCursorPos(p); SetCursorPos(p.X+100,p.Y+100); SetCursorPos(p.X,p.Y); // スクリーンセーバーを無効にしても設定は有効だがスクリーンセーバーは止まらない SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,0,@f,0); SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,Ord(False),nil,SPIF_SENDCHANGE); SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,Ord(f),nil,SPIF_SENDCHANGE); // モニタの電源OFFからの復帰は正常に動作します。 SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1); // スクリーンセーバーの起動は出来ますが、欲しいのはこの逆です。 SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_SCREENSAVE, 0); XPのときは14年前に質問してました https://www.petitmonte.com/bbs/answers?question_id=1280
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.