Public Class Form1
 
 
 
    'Двойные кавычки нужны для чтения пути с пробелами.
 
    Dim strFileAlarm As String  = """" & "G:\08 Vermilion.mp3" & """"
 
   
 
    Private Property myLog As EventLog
 
    Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
 
 
 
 
 
 Public Sub New()
 
        InitializeComponent()
 
 
 
        myLog = New EventLog
 
 
 
        myLog.Source = "System"
 
        AddHandler myLog.EntryWritten, AddressOf OnEntryWritten
 
        myLog.EnableRaisingEvents = True
 
 
 
    End Sub
 
 
 
 
 
 Public Sub OnEntryWritten(ByVal source As Object, ByVal e As EntryWrittenEventArgs)
 
 
 
        'При добавлении события в журнал безопасности будет выполняться этот код
 
 
 
            'Если добавлено событие с кодом 0, то будет выполнятся этот код
 
            If e.Entry.EventID = 0 Then
 
 
 
                 Call mciExecute("open " & strFileAlarm)
 
                 Call mciExecute("play " & strFileAlarm)
 
 
 
            End If
 
 
 
    End Sub
 
 
 
 
 
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
 
 
 
        'Воспроизведение звука
 
        Call mciExecute("open " & strFileAlarm)
 
        Call mciExecute("play " & strFileAlarm)
 
    End Sub
 
 
 
 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
 
 
 
        'Остановка звука
 
        Call mciExecute("Stop " & strFileAlarm)
 
        Call mciExecute("Close " & strFileAlarm)
 
    End Sub
 
 
 
 
 
 
 
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
 
 
 
        'Добавляет в журнал безопасности запись с ID 0
 
 
 
        Dim sSource As String
 
        Dim sLog As String
 
        Dim sEvent As String
 
 
 
        sSource = "System"
 
        sLog = "Application"
 
        sEvent = "Sample Event"
 
 
 
        EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Information, 0, Nothing, Nothing)
 
 
 
    End Sub
 
 
 
 
 
Private Sub btnEventVwr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEventVwr.Click
 
 
 
        'Сислог
 
        Shell("EventVwr")
 
    End Sub
 
 
 
 
 
 
 
End Class
 
 
При нажатии на кнопку воспроизведения всё работает отлично. Если нажать на стоп, то тоже всё нормально останавливается.
 
 
А если нажать на кнопку "добавить в журнал безопасности" (button8), то возникает 2 ошибки.
 
 
G:\08 Vermilion.mp3
 
Неизвестная ошибка при загрузке указанного драйвера устройста.
 
 
 
G:\08 Vermilion.mp3
 
Указанное устройство не открыто или не опознается интерфейсом MCI.
 
 
 
Почему код воспроизведения звука работает нормально если нажать на кнопки?
 
А если код воспроизведения звука на событии, то не работает. Почему так?
 
Мне нужно чтобы в событие записи в журнал проигрывался звук.
Ответить
        |