beenal
18.02.2002, 09:48
Hi leude!
vorerst mal danke für alle antworten auf meine vorigen postings, da wollte ich powerdvd von meinem programm aus starten und nach ende des filmes wieder schliessen.
habs jetzt aber anders gelöst, und zwar mit DirectAnimation(DirectX). klappt auch scho ganz gut, aber habe noch ein problem: wie lässt sich dieses Active-Movie Fenster schliessen wenn der film zuende gespielt hat???
hier mal meinen code
Dim Audio As IBasicAudio
Dim FileName As String
Dim MediaControl As IMediaControl
Dim MediaPosition As IMediaPosition
Dim MediaEvent As IMediaEvent
Dim VideoWindow As IVideoWindow
---------ausschnitt aus filmstart-funktion--------
FileName = "C:\test.avi"
CleanUp ´falls Video-Kontrollen geladen sind, cleanen und neuinitialisieren
´Video-Kontrollen schreiben
Set MediaControl = New FilgraphManager
Set Audio = MediaControl
Set MediaPosition = MediaControl
Set VideoWindow = MediaControl
MediaControl.RenderFile FileName ´Versucht Video zu rendern
VideoWindow.WindowStyle = WS_MAXIMIZE
VideoWindow.SetWindowPosition 0, 0, Screen.Width, Screen.Height
VideoWindow.HideCursor (True)
MediaControl.Run
MediaPosition.CurrentPosition = 0
Do
If CLng(MediaPosition.CurrentPosition) = CLng(MediaPosition.Duration) Then ´check ob video fertig gespielt wurde
Dim wHandle As Long ´Schliesst Video-Fenster
Dim R As Long
wHandle = FindWindow(vbNullString, "ActiveMovie Window")
If wHandle <> 0 Then
R = PostMessage(wHandle, &H10, 0&, 0&)
If R = 0 Then MsgBox "Fehler !"
Else
MsgBox "ActiveMovie ist nicht offen !"
End If
CleanUp
Exit Do
End If
Loop
Function CleanUp() ´Beseitigt Video-Überbleibsel
Set MediaControl = Nothing
Set Audio = Nothing
Set MediaPosition = Nothing
End Function
wie ihr seht versuche ich den text des video-fensters zu suchen (ActiveMovie Window) und wenn der film fertig ist, dieses fenster zu schliessen...
aber es gäbe sicher auch nen besseren code dafür (auf jeden fall klappts nicht immer so, manchmal erscheint das fenster plötzlich wieder...) gäbe es nicht schon so einen befehl von diesem directanimation um dieses movie-fenster zu schliessen???
hilfe jeglicher art erwünscht...und es eilt mächtig, wäre daher sehr dankbar um ne schnelle antwort.... :]
grüsse
beenal
vorerst mal danke für alle antworten auf meine vorigen postings, da wollte ich powerdvd von meinem programm aus starten und nach ende des filmes wieder schliessen.
habs jetzt aber anders gelöst, und zwar mit DirectAnimation(DirectX). klappt auch scho ganz gut, aber habe noch ein problem: wie lässt sich dieses Active-Movie Fenster schliessen wenn der film zuende gespielt hat???
hier mal meinen code
Dim Audio As IBasicAudio
Dim FileName As String
Dim MediaControl As IMediaControl
Dim MediaPosition As IMediaPosition
Dim MediaEvent As IMediaEvent
Dim VideoWindow As IVideoWindow
---------ausschnitt aus filmstart-funktion--------
FileName = "C:\test.avi"
CleanUp ´falls Video-Kontrollen geladen sind, cleanen und neuinitialisieren
´Video-Kontrollen schreiben
Set MediaControl = New FilgraphManager
Set Audio = MediaControl
Set MediaPosition = MediaControl
Set VideoWindow = MediaControl
MediaControl.RenderFile FileName ´Versucht Video zu rendern
VideoWindow.WindowStyle = WS_MAXIMIZE
VideoWindow.SetWindowPosition 0, 0, Screen.Width, Screen.Height
VideoWindow.HideCursor (True)
MediaControl.Run
MediaPosition.CurrentPosition = 0
Do
If CLng(MediaPosition.CurrentPosition) = CLng(MediaPosition.Duration) Then ´check ob video fertig gespielt wurde
Dim wHandle As Long ´Schliesst Video-Fenster
Dim R As Long
wHandle = FindWindow(vbNullString, "ActiveMovie Window")
If wHandle <> 0 Then
R = PostMessage(wHandle, &H10, 0&, 0&)
If R = 0 Then MsgBox "Fehler !"
Else
MsgBox "ActiveMovie ist nicht offen !"
End If
CleanUp
Exit Do
End If
Loop
Function CleanUp() ´Beseitigt Video-Überbleibsel
Set MediaControl = Nothing
Set Audio = Nothing
Set MediaPosition = Nothing
End Function
wie ihr seht versuche ich den text des video-fensters zu suchen (ActiveMovie Window) und wenn der film fertig ist, dieses fenster zu schliessen...
aber es gäbe sicher auch nen besseren code dafür (auf jeden fall klappts nicht immer so, manchmal erscheint das fenster plötzlich wieder...) gäbe es nicht schon so einen befehl von diesem directanimation um dieses movie-fenster zu schliessen???
hilfe jeglicher art erwünscht...und es eilt mächtig, wäre daher sehr dankbar um ne schnelle antwort.... :]
grüsse
beenal