スクリーンセーバーを無効にしているものを検出する方法はありますか?


19

スクリーンセーバーがアクティブになるのを妨げているプロセスを特定するWindowsアプリケーションはありますか?


1
SuperUserへようこそ。どのバージョンのWindowsを使用していますか?
Raystafarian

1
スクリーンセーバーがアクティブにならないのは、3つの異なる問題が原因である可能性があります。(1)プログラムがスクリーンセーバーを特に妨げている、(2)マウスが光学センサー(または汚れたボール)の毛によって「動く」ためスクリーンセーバーを妨げている)またはデスク/パッドなどの端に腰掛けている、または(3)プログラムまたはマウスが電源管理オプションのアクティブ化を妨げているため、スクリーンセーバーが間接的に停止している。スクリーンセーバーや電源設定を意図的にブロックしている他のソフトウェアをリストできるプログラムは知りませんが、マウスの問題は簡単に確認できます。
Synetech

1
^同意し、どのプログラムを探しているプログラムを見たことがない。多くの場合、プログラムまたはプロセスは停止できます。同じ問題が発生した場合、スクリーンセーバー(または他の電源オプション)を非常に短く設定し、起動と停止を行ってテストします。また、デバイスマネージャーの一部の「デバイス」には「電源管理」タブがあり、これらのデバイスは「このデバイスがコンピューターを起動できるようにする」の制御を提供するため、プログラムオプションが不足した場合は、デバイスオプションに進むことができます。
サイコギーク

2
infosecblog.org/2011/03/windows-7-screensaver-timeout グループポリシー、それを保持するFlash、およびVmware&Powercfgのオーバーライド。
サイコギーク

2
スクリーンセーバープレビューを実行するか、pretentiousname.com / miscsoft / index.html#ScreenSave(screensave)を直接起動する多くの小さなプログラムのようなプログラムを使用すると、何が元に戻るか、または発生しないようにすることができます。 。時間を節約できます。
サイコギーク

回答:


13

powercfgはWindowsに組み込まれており、多くの電源管理設定を制御および表示できます。

powercfg -energy -trace

これにより、非常に詳細な電源管理イベントログ、energy-trace.etlが作成されます。イベントビューアーで開き、イベントソース:Kernel-Power、インクルードイベントID:62でログをフィルターします。

これにより、次のようなイベントが得られます。

アプリケーションまたはサービス\ Device \ HarddiskVolume1 \ games \ Steam \ Steam.exeは、コード0x3でユーザーの電源管理設定を上書きしています。

コードは、スクリーンセーバー、モニターのスリープ、または別の状態遷移が防止されたかどうかによって異なる場合があります。


「電力効率診断ライブラリ(energy.dll)をロードできませんでした」と表示されます。なぜそうなるのでしょうか?(電源サービスが開始されます)
サンジェイマノハル

1
これが他の人を動かしている場合:energytrace.etlを開くにはopen Event Viewer| Event Viewer (Local)ツリーをクリック| Action| Open Saved Log| open C:\Windows\System32\energytrace.etl 新しいログ形式に変換するよう指示します。Windows 10で
動作

3
Windows 10では、powercfg / energyを実行するだけで、代わりにWebページが作成されます。
プログラミングの教授

8

powercfg /requests管理コマンドプロンプトから実行します。たとえば、私の印刷:

DISPLAY:
[PROCESS] \Device\HarddiskVolume8\Games\Origin\Origin.exe
Playing video

SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_0900&SUBSYS_10438560&REV_1000\4&9793a48&0&0001)
An audio stream is currently in use.

AWAYMODE:
None.

これは、Originがビデオを再生しており、これがスクリーンセーバーの実行を妨げていたことを示しています。


1

スクリーンセーバー(タイプではなく)の時間を別の時間に変更するだけで、たとえば10分から1に変更してから以前の時間に戻すと、スクリーンセーバーは正常に機能します。


1

私を正しい方向に向けてくれたW1N9Zr0に感謝します!

私の場合、それはXP Pro(SP3)マシンであったため、「energy」スイッチは使用できませんでしたが、「devicequery」スイッチは、マウスまたはキーボードのいずれかであることを示していました。使用していたPS / 2キーボードからUSBキーボードに切り替えたら、スクリーンセーバー(およびその他の電源オプション)が設定ごとに作動しました。

注:スクリーンセーバーが1分に設定されている場合、時々起動するので、動作していることがわかりました。1分を超えるとスクリーンセーバーは起動しません。


0

犯人は通常、メディアプレーヤーだと思います。ビデオを再生するときだけだと思う​​かもしれませんが、スクリーンセーバーに手を出さない音楽プレーヤーもいます。たとえば、Amazon MusicとGrooveを今日開いて一時停止したところ、1時間経っても画面のロックが解除されたままでした。

どちらが責任があるのか​​はわかりませんが、私が実行していたIDEとブラウザ上でそれらを疑っています。どちらも画面をロックします。


-2

私はこれを行うプログラムを知りませんが、調べる方法は、スレッドが現在スクリーンセーバーのアクティブ化をブロックしている場合に値ES_DISPLAY_REQUIREDを保持するGetThreadExecutionState()関数を使用することです。

この関数をシステム内のすべてのスレッドに適用し、見つかったスレッドでGetProcessIdOfThreadを呼び出すと、スクリーンセーバーをブロックしているプロセスが見つかります。


1
「GetThreadExecutionState()」はありません。
ジェームズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.