powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Завершение работы
9 сообщений из 9, страница 1 из 1
Завершение работы
    #33572137
Ruslan B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плиз, как можно программно отследить момент начала завершения работы Windows
...
Рейтинг: 0 / 0
Завершение работы
    #33572548
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Завершение работы
    #33573135
Ruslan B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkiades http://www.vbforums.com/showthread.php?t=378775
Прошу прощения за назоливость новичка, но нельзя ли поподробнее куда вписывать код из этой ссылки. Мне нужно чтобы перед завершением работы автоматом был запущен определенный exe файл.
...
Рейтинг: 0 / 0
Завершение работы
    #33573463
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему аналогично можно сделать так:
Код: plaintext
1.
2.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = {выяснить значение для завершения работы виндов} Then RunProg
End Sub
...
Рейтинг: 0 / 0
Завершение работы
    #33573551
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это смотря как винда настроена. Насколько я помню, можно настроить Windows ShutDown так, чтобы он не ждал завершения работы программ, а вырубал их сразу. А если приложение вырубается через TerminateProcess, оно не получает никакого уведомления об этом - и, соответственно, никакой QueryUnload никогда не наступит.
Кстати, тем же самым в XP занимается сервис User Profile Hive Cleanup, рекомендуемый самой Майкрософт.
Но в общем случае можно понадеяться и на QueryUnload.
...
Рейтинг: 0 / 0
Завершение работы
    #33574484
Ruslan B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyПо-моему аналогично можно сделать так:
Код: plaintext
1.
2.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = {выяснить значение для завершения работы виндов} Then RunProg
End Sub

Только вот значение UnloadMode =2 и при выключении и при рестарте. А можно их как-то разделить?
...
Рейтинг: 0 / 0
Завершение работы
    #33574722
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая разница? В любом случае операционка завершает работу.
...
Рейтинг: 0 / 0
Завершение работы
    #33574740
Ruslan B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyА какая разница? В любом случае операционка завершает работу.
Для моей задачи разница есть. Должен выполниться определенный екзешник именно перед выключением компа, не реагируя при этом на перезагрузку. Если такое вообще возможно конечно.
...
Рейтинг: 0 / 0
Завершение работы
    #33574761
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно перехватить вызов функций ExitWindows, ExitWindowsEx и InitiateSystemShutdown и проверить их параметры. Только на vb это не делается.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Завершение работы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]