Я пробовал все комбинации:
Код: Выделить всё
ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED
for (;;)
{
SetThreadExecutionState(ES_SYSTEM_REQUIRED);
// SetThreadExecutionState(ES_SYSTEM_REQUIRED | ES_CONTINUOUS);
// SetThreadExecutionState(ES_AWAYMODE_REQUIRED)
// SetThreadExecutionState(ES_AWAYMODE_REQUIRED | ES_CONTINUOUS);
// SetThreadExecutionState(ES_AWAYMODE_REQUIRED | ES_SYSTEM_REQUIRED | ES_CONTINUOUS);
Thread.Sleep(10000);
Console.WriteLine("The current time is: " + DateTime.Now);
}
private const uint ES_CONTINUOUS = 0x80000000;
private const uint ES_SYSTEM_REQUIRED = 0x00000001;
private const uint ES_DISPLAY_REQUIRED = 0x00000002;
private const uint ES_AWAYMODE_REQUIRED = 0x00000040;
Ничто из того, что я делаю, не мешает системе перейти в спящий режим примерно через 3–5 минут. .
Есть ли другой способ сделать это в Windows 11?
Подробнее здесь: https://stackoverflow.com/questions/786 ... 1-sleeping