3

Это возможно без непрерывного запуска процесса, прослушивания WM_QUERYENDSESSION или подобного? (или, что еще хуже, загрузка DLL в процесс Winlogon)

(Также недопустимо: написать скрипт / программу, которая делает то, что вы хотите, затем выйти из системы и потребовать, чтобы пользователь использовал эту программу только для выхода из системы, а не «Пуск» -> «Выйти из системы» или другие обычные методы)

Это легко на XP Pro с групповой политикой, но я не думаю, что это работает на XP Home, даже если вы "устанавливаете" редактор групповой политики.

2 ответа2

0

Я полагаю, что этот вопрос переполнения стека может быть вашим лучшим выбором: https://stackoverflow.com/questions/324220/how-to-run-my-program-on-before-logout-on-windows-xp

Этот поток Techguy.org также более подробно описывает дополнительные параметры: http://forums.techguy.org/windows-xp/728218-solved-logoff-script-windows-xp.html

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

0

В планировщике задач Windows есть триггер "При отключении от сеанса пользователя".

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .