2015-09-02 6 views
2

Я создал приложение VB6 для запуска в фоновом режиме и сказал мне, когда ключ блокировки кепки циклически меняется. Он запускается, когда запускается Windows, поэтому он всегда включен, но когда я иду на остановку компьютера, приложение зависает в процессе выключения Windows 8.Ответьте на процесс выключения системы

Есть ли системное событие для мониторинга или какой-либо другой метод ловли команда shutdown, которую я могу использовать, чтобы убить мое приложение изящно?

+0

какая победная версия вы скомпилировали в – gwillie

ответ

4

Стандартный способ получения уведомления об отключении системы осуществляется через Form_QueryUnload(). Когда ОС выключается, параметр UnloadMode будет равен vbAppWindows. Например:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 
    If UnloadMode = vbAppWindows Then 

     ' OS is shutting down. Close gracefully. 

    End If 
End Sub 

В качестве альтернативы, вы можете унаследовать окно и слушать для WM_QUERYENDSESSION сообщения.