0

ディスプレイの電源をオフにしながらシステムをオンにしたままにして、システムが無人のときにダウンロードを終了できるようにしようとしています。これを達成するために私は呼びます:

SetThreadExecutionState(ES_SYSTEM_REQUIRED);

ダウンロードからデータを取得するときはいつでも。ただし、これによりディスプレイの電源が切れるのを防ぐようです(ディスプレイは設定された調光タイマーごとに調光しますが、完全にオフになることはありません)。MSDNエントリによると、これは私も合格した場合にのみ発生するはずですES_DISPLAY_REQUIRED-とにかくブロックされているのはなぜですか?

呼び出しを停止SetThreadExecutionStateしても、ディスプレイの電源が再びオフにならないことに注意してください。表示をオフにするには、プログラムを終了する必要があります。ES_CONTINUOUSただし、 ?で呼び出された場合にのみ効果が持続するのではないでしょうか。

重要な場合は、Windows7を使用しています。現在、他のバージョンでテストすることはできません...

4

2 に答える 2

1

ES_CONTINUOUSなしでこの関数を呼び出すと、システムとモニターのアイドルタイマーのカウントは続行されません。したがって、ES_CONTINUOUSによる組み合わせでパラメーターを渡す必要があります。たとえば、SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_CONTINUOUS);を呼び出すことができます。SetThreadExecutionState(ES_SYSTEM_REQUIRED);の代わりに

于 2010-07-31T22:27:16.903 に答える
0

気にしないでください-バグは私のコードにはなかったようです:)

于 2009-10-17T04:38:32.587 に答える