У Windows XP є один серйозний недолік: перед вимиканням або перезавантаженням комп'ютера часто доводиться довго чекати завершення роботи системи. Існують кілька способів вирішення цієї проблеми.

Перш за все, проблеми із завершенням роботи можуть бути викликані некоректною роботою додатків. Багато програм відкривають реєстр, працюють з ним, але забувають закрити його (на мові програмістів це звучить: "програми не знищують дескриптори ключів реєстру"). В результаті, ці дескриптори залишаються відкритими до виключення або перезавантаження комп'ютера, що і викликає помилку.

Запустіть "Панель управління", зайдіть в "Адміністрування" і виберіть пункт "Перегляд подій". Тепер знайдіть в списку події з номерами 1500, 1517 і +1524, у яких вказано джерело Userenv. Найпростіше зробити це таким чином: клацніть кнопку "Подія" над таблицею, щоб впорядкувати події за номерами, а потім прокручивайте список, поки не знайдете номери 1500, 1517, 1524. Якщо такі є, значить якась із використовуваних вами програм "забуває "закрити реєстр.

Те саме нещасливе подія тисячі п'ятсот двадцять чотири
Те саме нещасливе подія тисячі п'ятсот двадцять чотири

Microsoft розробила утиліту UPHClean, яка вирішує цю проблему (скачати її можна тут , її розмір всього 285 кб). Просто встановіть її, і вона буде автоматично вивантажувати непотрібні ресурси, прискорюючи, тим самим, завершення роботи Windows.

Можлива така ситуація: ви встановили UPHClean, але Windows XP як і раніше завершує роботу дуже повільно. Швидше за все, якась програма або служба зависає, не даючи вимкнути комп'ютер. У цьому випадку спробуйте скоротити час, що відводиться на закриття програм.

Строковий параметр реєстру HKEY_CURRENT_USER \ Control Panel \ Desktop \ HungAppTimeout в Windows XP встановлює час очікування зависла програми в мілісекундах (1000 мс = 1 секунда). За замовчуванням цей параметр дорівнює 20 секундам. Можна знизити його, наприклад, до п'яти секунд (5000 мілісекунд), щоб не доводилося чекати зависла програми занадто довго.

Інший параметр, WaitToKillAppTimeout, встановлює час очікування завислих програм при завершенні роботи Windows. Його теж можна скоротити до п'яти секунд. Нарешті, щоб відключити пропозицію послати Microsoft звіт про помилку при виконанні неприпустимою операції, встановіть параметр AutoEndTasks рівним одиниці.

Прискорюємо завершення завислих програм
Прискорюємо завершення завислих програм

Щоб завислі служби завершувалися швидше, зменшіть параметр HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ WaitToKillServiceTimeout, за замовчуванням рівний 20 секундам. Якщо знизити цей параметр до двох-трьох секунд, Windows XP буде завершувати роботу набагато швидше.

Ще одна настройка, яка прискорює роботу - відключення WMI (компонента Windows NT, призначеного для збору всіляких звітів про виконані операції і про що відбулися помилки). Знайдіть в ключі реєстру HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WBEM \ CIMOM параметри EnableEvents і Logging, а потім встановіть їх на "нуль". Завершення роботи має трохи прискоритися.