Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Завершение работы / 9 сообщений из 9, страница 1 из 1
28.02.2006, 22:03:13
    #33572137
Ruslan B.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
Подскажите плиз, как можно программно отследить момент начала завершения работы Windows
...
Рейтинг: 0 / 0
01.03.2006, 09:43:50
    #33572548
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
...
Рейтинг: 0 / 0
01.03.2006, 11:59:25
    #33573135
Ruslan B.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
Melkiades http://www.vbforums.com/showthread.php?t=378775
Прошу прощения за назоливость новичка, но нельзя ли поподробнее куда вписывать код из этой ссылки. Мне нужно чтобы перед завершением работы автоматом был запущен определенный exe файл.
...
Рейтинг: 0 / 0
01.03.2006, 13:01:14
    #33573463
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
По-моему аналогично можно сделать так:
Код: plaintext
1.
2.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = {выяснить значение для завершения работы виндов} Then RunProg
End Sub
...
Рейтинг: 0 / 0
01.03.2006, 13:22:53
    #33573551
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
Ну это смотря как винда настроена. Насколько я помню, можно настроить Windows ShutDown так, чтобы он не ждал завершения работы программ, а вырубал их сразу. А если приложение вырубается через TerminateProcess, оно не получает никакого уведомления об этом - и, соответственно, никакой QueryUnload никогда не наступит.
Кстати, тем же самым в XP занимается сервис User Profile Hive Cleanup, рекомендуемый самой Майкрософт.
Но в общем случае можно понадеяться и на QueryUnload.
...
Рейтинг: 0 / 0
01.03.2006, 16:21:09
    #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
01.03.2006, 17:13:42
    #33574722
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
А какая разница? В любом случае операционка завершает работу.
...
Рейтинг: 0 / 0
01.03.2006, 17:19:09
    #33574740
Ruslan B.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
AntonariyА какая разница? В любом случае операционка завершает работу.
Для моей задачи разница есть. Должен выполниться определенный екзешник именно перед выключением компа, не реагируя при этом на перезагрузку. Если такое вообще возможно конечно.
...
Рейтинг: 0 / 0
01.03.2006, 17:25:46
    #33574761
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Завершение работы
Можно перехватить вызов функций ExitWindows, ExitWindowsEx и InitiateSystemShutdown и проверить их параметры. Только на vb это не делается.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Завершение работы / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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