6

Windows 8.1、Visual Studio 2013 を使用しており、15 分以上実行される C++ プロジェクトがあります。しかし、問題は、私がまだデバッグしている間にウィンドウがスリープ状態になることです。

これは、プログラムの実行中 (デバッグ中) にスリープ待機時間が超過したために発生することがわかっており、スリープ待機時間を長くするか、Windows コントロール パネルの電源設定で「スリープしない」設定にすることで、これを簡単に停止できます。

しかし、これにはプログラムまたは Visual Studio ベースのソリューションが必要です。プログラムの実行 (デバッグ) 中にコンピュータがスリープ状態にならないようにしたい。

4

2 に答える 2

5

WindowsにはSetThreadExecutionState関数があります

于 2015-09-15T04:42:17.407 に答える
2

プログラムのエントリ ポイントで設定を変更し、デバッグ セッションが終了したら、最後に設定を復元します。

この例を見てください....

#include <cstdlib>
//include windows.h

using namespace std;

void KeepMonitorActive() {
    // Enable away mode and prevent the sleep idle time-out.
    SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED);
}

void RestoreMonitorSettings() {
    // Clear EXECUTION_STATE flags to disable away mode and allow the system to idle to sleep normally.
    SetThreadExecutionState(ES_CONTINUOUS);
}

int main()
{
    //Add these 2 lines at the entry point in your program
    KeepMonitorActive();
    atexit(RestoreMonitorSettings);

   //...
}
于 2015-09-15T05:36:25.710 に答える