Windows спит во время выполнения длинной программы C ++ Visual Studio

Я использую Windows 8.1, Visual Studio 2013, и у меня есть проект C ++, который выполняется более 15 минут. Но проблема в том, что окна засыпают, а мой все еще отлаживается.

Я знаю, что это происходит из-за того, что время ожидания в спящем режиме превышено во время работы программы (отладка), и я могу легко остановить это, либо увеличив время ожидания в спящем режиме, либо установив в настройках питания панели управления Windows значение «никогда».

Но я хочу для этого использовать программное или Visual Studio решение. Я хочу, чтобы мой компьютер не спал во время выполнения (отладки) программы.

6

Решение

В точке входа в программу измените настройки, восстановите настройки по окончании сеанса отладки.

Возьми этот пример ….

#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);

//...
}
2

Другие решения

Есть SetThreadExecutionState функция в окнах

5

По вопросам рекламы [email protected]