掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
起動済みのスクリーンセーバーを停止させるには (ID:49630)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
レスありがとうございます。 AAAさんの方式を試したところ起動はしなくなります。 しかしSC_SCREENSAVE を持つメッセージはスクリーンセーバー起動直後の1回しか送られてこないようです。 そのため「一度」起動してしまった後のスクリーンセーバーへはメッセージが送られず Message.WParam := 0; を設定する処理が出来ないようです。 AttachThreadInput を使用した方法を検討してみたのですが AttachThreadInputでやりとりする対象先のウインドウハンドルが得られれば キーやマウスを操作して止められそうです。 しかし自身で起動した場合を除いて、他のアプリのウインドウハンドルを得るにはプロセスIDを取得 する必要があるようです。 ではプロセス一覧を取得して実行ファイルの拡張子が scr だったらそのプロセスを止められたり キーを模擬で送信できるかと思ったのですが これらのAPIを使おうとするとSeDebugPrivilegeを使用して権限を昇格させないとだめらしく 管理者権限への昇格確認ダイアログが出てしまいますね。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.