Як вимкнути сплячий режим, коли підключено зовнішній дисплей [Windows]

Коли ваш комп’ютер залишається без активності протягом певного часу, він автоматично переходить в режим сну. Це типова функція операційної системи Windows, яка існує вже тривалий час. Деякі програми, зокрема медіапрогравачі, здатні запобігти цьому переходу. Наприклад, при перегляді фільму в додатку “Кіно та ТБ” в Windows 10, система не перейде в режим сну. Звичайно, не всі програми мають таку можливість. Якщо ви використовуєте зовнішній дисплей, система все одно може перейти в режим сну при тривалій відсутності дій. Нижче наведено простий метод, як вимкнути режим сну при підключенні зовнішнього дисплея.

Для деактивації режиму сну при підключенні зовнішнього монітора вам знадобиться налаштувати два різні плани електроживлення в Windows. Також потрібно буде ідентифікувати їх унікальні ідентифікатори (GUID) та запустити скрипт AutoHotKey. Це рішення було запропоновано користувачем Miroxlav SuperUser.

Створення планів електроживлення

Ви можете створити два нові плани живлення або ж використати один з вже наявних, створивши лише один новий. Один із планів повинен мати активований режим сну. Перевірте наявні плани, серед них напевно знайдеться один з необхідними налаштуваннями.

Тепер створіть новий план живлення. Відкрийте “Провідник файлів” та перейдіть до “Панель керування” → “Обладнання та звук”. Зліва виберіть опцію “Створити план живлення”.

Вкажіть назву нового плану та у спадному меню “Перевести комп’ютер у режим сну” оберіть “Ніколи” для параметрів “Від батареї” та “Підключено”. На цьому налаштування завершено.

Пошук GUID планів живлення

Запустіть “Командний рядок” та виконайте наступну команду, щоб знайти GUID ваших планів електроживлення:

powercfg /l

Скопіюйте ці ідентифікатори у текстовий файл для подальшого використання в скрипті AutoHotKey.

Відключення сплячого режиму при підключенні зовнішнього дисплея

Відкрийте “Блокнот” та вставте наступний код:

OnMessage(0x219, "MsgMonitor")
MsgMonitor(wParam, lParam, msg)
{
if (wParam = 7) {
Run, powercfg /s 381b4222-f694-41f0-9685-ff5bb260df2e
} Else {
Run, powercfg /s 381b4222-0001-2222-3333-000000000000
}
MsgBox check %wParam% and %lParam% and decide to run programs with %msg%
}
;wParam: 7 lParam: 0 monitor connected
;wParam: 32772 lParam: 8977536 should be on disconected

У цьому скрипті замініть GUID в рядку “Run, powercfg /s 381b4222-f694-41f0-9685-ff5bb260df2e” на GUID плану живлення, в якому режим сну вимкнено.

Далі, замініть GUID в рядку “Run, powercfg /s 381b4222-0001-2222-3333-000000000000” на GUID плану живлення з увімкненим режимом сну. Збережіть файл з розширенням .ahk та запустіть його за допомогою AutoHotKey.

Ви можете запускати цей скрипт вручну при кожному підключенні зовнішнього монітора, або додати його до автозавантаження, щоб він завжди працював у фоновому режимі. Скрипт буде автоматично перемикати плани електроживлення при підключенні та відключенні зовнішнього монітора.