Cerrar proceso Windows Media cuando termina la reproducción
Tengo una función que recorre una tabla y coge la dirección url del fichero que quiero reproducir. La reproducción se ejecuta correctamente, pero WMP sigue abierto y no se inicia la reproducción del siguiente fichero hasta que no cierro manualmente WMP.
Este es el proceso que utilizo.
'función para ejecutar windows media player en opción de lista de reproducción
Public Sub ExecCmd(Pathname As String, Optional WindowStyle As Long)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ret As Long
' Initialize the STARTUPINFO structure:
With start
.cb = Len(start)
If Not IsMissing(WindowStyle) Then
.dwFlags = STARTF_USESHOWWINDOW
.wShowWindow = WindowStyle
End If
End With
' Start the shelled application:
ret& = CreateProcessA(0&, Pathname, 0&, 0&, 1&, _
NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
' Wait for the shelled application to finish:
ret& = WaitForSingleObject(proc.hProcess, INFINITE)
ret& = CloseHandle(proc.hProcess) **************************AQUI ES DONDE FALLA, PORQUE NO CIERRA EL PROCESO
End Sub
Imagino que el parámetro INFINITE es el "culpable" de ello pero, ¿Hay alguna forma de forzar el cierre de WMP?