Я пробовал это, чтобы показывать MsgBox при обнаружении выключения или выхода из системы .. например: «Вы выходите из системы ...
Public Class frmDetectEnd
Private Sub frmDetectEnd_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler Microsoft.Win32.SystemEvents.SessionEnding, AddressOf Handler_SessionEnding
End Sub
Public Sub Handler_SessionEnding(ByVal sender As Object, ByVal e As Microsoft.Win32.SessionEndingEventArgs)
If e.Reason = Microsoft.Win32.SessionEndReasons.Logoff Then
MessageBox.Show("User is logging off")
ElseIf e.Reason = Microsoft.Win32.SessionEndReasons.SystemShutdown Then
MessageBox.Show("System is shutting down")
End If
End Sub
End Class
Это обнаружение работает нормально, но я хочу остановить процесс выключения / выхода, если отображается MsgBox, потому что в этот момент выполняется процесс выключения / выхода, и он останавливается с сообщением Windows «Эта программа не позволяет вам выйти из системы ...».
Однако я бы хотел, чтобы после получения сообщения «Пользователь ведет журнал / Система завершает работу» пользователь мог выбрать командную кнопку для обработки чего-либо, а затем завершить работу или выйти из системы.