un code qui permet de jouer une vidéo en plein écran comme écran de veille.
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)
Pour faire l'écran de veille :
- complier
- renommer l'exe en *.scr
- placer le fichier dans le dossier de windows