Как я выполняю сценарий или программу в Windows Shut Down

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

Для этого я должен выполнить другой exe на завершении работы, которое разъединит диски, смонтированные моим приложением.

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

Снова, групповая политика не работает с Победой Vista. Какой-либо другой лучший подход?

1
задан 20.11.2010, 00:20

4 ответа

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

Windows: http://msdn.microsoft.com/en-us/library/ms632599 (по сравнению с 85) .aspx

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

0
ответ дан 12.12.2019, 13:06

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

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

2
ответ дан 12.12.2019, 13:06

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

Я не имею Vista, работающей здесь, но сделал предварительный тест на Сервере 2003. Я запустил REGMON и открыл GPEDIT.MSC, затем отредактировал сценарий Завершения работы. Ключевое изменение было расположено здесь:

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

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

0
ответ дан 12.12.2019, 13:06

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

Danbo

0
ответ дан 12.12.2019, 13:06

Теги

Похожие вопросы