mmhm, wenn das AVI eine konstante länge hat, dann machs dir dopch nicht so schwer:
einfach beo "form.load" einen timer auf "enabled" stellen, der (was weiss ich) z.B. ein intervall von 1000ms hat. wenn das video jetzt nun 5 sekunden beträgt schreibt du in die timer sub ca folgendes:
-----------------------------------------------------------
Private Sub tmr_myTimer()
' Form Verstecken
Me.Hide
' Zählervariable um eins erhöhen
Count = Count +1
' Abbruch bei Viedeoende - allerdings nach Zeitabschätzung
If Count = 5 then
tmr_myTimer.Enabled = False
Me.Show ' form nach 5 Sekunden anzeigen
End If
End Sub
-----------------------------------------------------------
Eine andere Möglichkeit ( ich denke auch bessere) wäre folgende: Die eine Form laden ( muss ja nicht angezeit werden) und schreibst in dessen und schreibst in dessen form_active sub eine me.hide um sie zu verstecken, und dann lässt du direkt über einen befehl das videolaufen. nach dem viedeobefehl kommt ein befehl der die form wieder unloaded. die ANDERE, also eigentliche Hauptform des Spiels überprüft währenddessen in einer Schleife oder in einem TIMER OB DIE "VIDEOFORM" noch geladen, also ausgeführt wird. Wenn JA, dann läuft das Video grade, wenn NEIN, ist es schon vorbei.
Um nun zu überprüfen ob eine Form in deinem Proggi zur Laufzeit geladen ist kann du folgende function anwenden:
Als Parameter übergibst du den FormNamen und erhälstst als Rückgabe wert entweder true oder false:
-----------------
Function IsFormLoaded ( FormToCheck As Form) As Integer
Dim Y As Integer
For Y = 0 To Forms.Count - 1
If Forms(Y) Is FormToCheck Then
IsFormLoaded = True
Exit Function
End If
Next
IsFormLoaded = False
End Function
-----------------
Sind jetzt zwar alles nur theorie beispiele, aber hoffe ich konnte ein bisschen helfen.
übrigens, tip: Bei der nächsten Frage zu VB, schreib diese nicht HIER ins VB-Testforum, sondern bei "PROGRAMMIEREN / ANDERE" hin...
viele grüsse
ciao