un petit code tout bête qui permet de faire un écran de veille qui lit la vidéo de son choix.
compiler en exe avec l'extension *.scr
mettre dans le répertoire de win
aller dans les options d'affichage le choisir comme écran de veille
choisir la vidéo dans les param
et c'est tout
pour les fainéant, le fichier compilé est ici : http://perso.wanadoo.fr/lesoldatinconnu ... taires.htm
Code : Tout sélectionner
Global Fichier.s, Volume.l, Zoom.l
Procedure ReLance()
If MovieStatus() = 0
PlayMovie(0, WindowID())
EndIf
EndProcedure
Procedure Reglage()
OpenWindow(0, 0, 0, 200, 70, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "VidéoVeille - Réglage")
CreateGadgetList(WindowID())
TextGadget(0, 5, 5, 50, 15, "Vidéo :")
StringGadget(1, 50, 5, 100, 20, GetFilePart(Fichier), #PB_String_ReadOnly)
ButtonGadget(2, 155, 5, 40, 20, "Ouvrir")
CheckBoxGadget(3, 5, 30, 190, 15, "Plein écran")
SetGadgetState(3, Zoom)
CheckBoxGadget(4, 5, 50, 190, 15, "Jouer le son")
SetGadgetState(4, Volume)
Repeat
Event = WaitWindowEvent()
If Event = #PB_EventGadget
Select EventGadgetID() ; boutons, zone de texte, ...
Case 2
Txt.s = OpenFileRequester("Ouvir", Fichier, "Vidéo|*.avi;*.mpg;*.wmv", 1)
If Txt
Fichier = Txt
SetGadgetText(1, GetFilePart(Fichier))
EndIf
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
If CreatePreferences("VidéoVeille.ini")
WritePreferenceString("Vidéo", Fichier)
WritePreferenceLong("Zoom", GetGadgetState(3))
WritePreferenceLong("Volume", GetGadgetState(4))
ClosePreferences()
EndIf
CloseWindow(0)
EndProcedure
OpenPreferences("VidéoVeille.ini")
Fichier.s = ReadPreferenceString("Vidéo", "")
Zoom.l = ReadPreferenceLong("Zoom", 1)
Volume.l = ReadPreferenceLong("Volume", 0)
ClosePreferences()
Param.s = Left(ProgramParameter(), 2)
; Param = "/c"
If Param = "/p"
End
ElseIf Param = "/c" Or Fichier = ""
Reglage()
If Param = "/c" Or Fichier = ""
End
EndIf
EndIf
OpenWindow(0, 0, 0, 100, 100, #PB_Window_BorderLess | #PB_Window_Invisible, "VidéoVeille")
; Couleur de fond
CouleurFondFenetre = CreateSolidBrush_(0)
SetClassLong_(WindowID(0), #GCL_HBRBACKGROUND, CouleurFondFenetre)
HideWindow(0, 0) ; on montre la fenêtre
ShowWindow_(WindowID(), #SW_MAXIMIZE)
ShowCursor_(0)
InitMovie()
LoadMovie(0, Fichier)
TailleX = MovieWidth()
TailleY = MovieHeight()
If Zoom
RapportVideo.f = TailleX / TailleY
RapportEcran.f = WindowWidth() / WindowHeight()
If RapportVideo >= RapportEcran
TailleX = WindowWidth()
TailleY = TailleX / RapportVideo
Else
TailleY = WindowHeight()
TailleX = TailleY * RapportVideo
EndIf
EndIf
ResizeMovie((WindowWidth() - TailleX) / 2, (WindowHeight() - TailleY) / 2, TailleX, TailleY)
PlayMovie(0, WindowID())
If Volume = 0
MovieAudio(0, 0)
EndIf
Timer = SetTimer_(WindowID(), 0, 500, @ReLance())
x = WindowMouseX()
y = WindowMouseY()
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow Or WindowMouseX() <> x Or WindowMouseY() <> y
KillTimer_(WindowID(), Timer)
DeleteObject_(CouleurFondFenetre)
ShowCursor_(1)