Я использую Windows 8.1, Visual Studio 2013, и у меня есть проект C ++, который выполняется более 15 минут. Но проблема в том, что окна засыпают, а мой все еще отлаживается.
Я знаю, что это происходит из-за того, что время ожидания в спящем режиме превышено во время работы программы (отладка), и я могу легко остановить это, либо увеличив время ожидания в спящем режиме, либо установив в настройках питания панели управления Windows значение «никогда».
Но я хочу для этого использовать программное или Visual Studio решение. Я хочу, чтобы мой компьютер не спал во время выполнения (отладки) программы.
В точке входа в программу измените настройки, восстановите настройки по окончании сеанса отладки.
Возьми этот пример ….
#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);
//...
}
Есть SetThreadExecutionState функция в окнах