Как выполнить сценарий или программу на завершение работы Windows

Я хочу запустить exe или bat файл, Когда окно закрыто? Я хочу размонтировать несколько дисков , которые монтируются моим приложением, когда пользователь выключает систему.

для этого мне нужно выполнить еще один exe при выключении, который отключит диски, смонтированные моим приложением.

Я получил несколько ссылок, которые показывают, что мы можем создать запись в групповой политике, чтобы выполнить programe в то время как окно закрыто. Я не уверен, как я могу добавить запись в группу ploicy по C++ код.

опять же, групповая политика не работает с Win Vista. Любой другой лучший подход ?

29
задан Gilles
23.04.2023 13:58 Количество просмотров материала 2429
Распечатать страницу

5 ответов

в дополнение к записи собственного пакетного файла, чтобы завершить работу и делать то, что вы хотите, вы можете быть в состоянии запланировать задачу, чтобы сделать то же самое, так что вам не придется помнить, чтобы нажать ярлык для завершения работы особым образом или что-нибудь.

с помощью администратора инструменты | планировщик задач вы можете запланировать задачу на основе зарегистрированных событий в журнале событий системы. Событие shutdown / restart связано с журналом системных событий, источником которого является USER32 с кодом события 1074. При обновлении журнала событий с этой информацией должна быть запущена запланированная задача. Я тестировал это на коробке на работе, и это работало нормально, но я администратор в домене и не уверен, столкнетесь ли вы с проблемами разрешений или что-то еще.

2
отвечен Diffuser 2023-04-24 21:46

написать программу с окном только для сообщений (HWND_MESSAGE), затем handle:WM_ENDSESSION, затем запустите bat-файл или делать то, что вы хотите.

окна: http://msdn.microsoft.com/en-us/library/ms632599(против.85).аспн

WM_ENDSESSION: http://msdn.microsoft.com/en-us/library/aa376889(против.85).аспн

0
отвечен Moo-Juice 2023-04-25 00:03

Что вы можете сделать, это написать пакетный файл, чтобы включить все ваши команды, которые вы хотели бы выполнить незадолго до закрытия, а затем, как последняя команда включения выключения.exe в sytax аналогично этому: завершение работы.exe-s-t 45. В этом случае я говорю команде выключить систему, с помощью переключателя-s, а затем переключатель-t говорит сделать это через 45 секунд. Возможно, потребуется использовать параметр-f, чтобы принудительно закрыть любую программу, если они будут препятствовать завершению работы системы. Если вы работают под управлением Windows XP, Vista или 7 команда shutdown уже доступна. Однако все, что старше, вам, возможно, придется загрузить его с сайта Mircrosoft. Надеюсь, эта информация поможет!

Danbo

0
отвечен danbo 2023-04-25 02:20

поскольку эта версия Vista не имеет GPEDIT.MSC установлен, возможно, найти то, что записи GPEDIT обычно делают для сценария завершения работы и посмотреть, если эти ключи реестра существуют на вашем Vista Home?

У меня нет Vista работает здесь, но сделал предварительный тест на сервере 2003. Я начал РЕГМОН и открыл GPEDIT.MSC, затем отредактировал сценарий завершения работы. Ключевое изменение было расположено здесь:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown

Если эта структура дерева ключей существует в Vista, она может быть просто вопрос построения записи на компьютере, который имеет редактор групповой политики, экспортировать ключ и импортировать его в Vista. Чистая спекуляция, я не пробовал этого.

0
отвечен Robert Kerr 2023-04-25 04:37

в планировщике задач Windows, создать основную задачу, как это:

Click here to Open the Image of Windows Task Manager

0
отвечен user2307776 2023-04-25 06:54

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх