Un exemple concret avec les api (oui je sais mais bon)
Programme fonctionnel qui te permet de créer une capture toute les 5 secondes (à modifier selon), de voir les images se créer au fur et à mesure dans un explorer, d'ouvrir le dossier pour visualiser les images et accessoirement de quitter le prog. Pour lle reste tu trouveras bien des tas de fonctions à lui ajouter ( ça peut servir d'espion

mais je te dirais pas comment faire...Trouves tout seul.)
Code en PB 4.02
Créer un dossier pour la réception des images (et indiquer le chemin dans le prog), idéalement dans le dossier du même nom, mais chacun son truc.
Code : Tout sélectionner
Enumeration
#WINMAIN
#Screens_Browser
#BtnDirExplore
#BtnQuitter
EndEnumeration
Global MonDossier$
MonDossier$ = "..\Mes documents\Mes images\Mes screens\" ; Dossier à créer avant dans le répertoire Mes images par exemple
Procedure appuie()
If ExamineDesktops()
Ecran_Largeur = DesktopWidth(0)
Ecran_Hauteur = DesktopHeight(0)
ProfondeurCouleur = DesktopDepth(0)
Else
End
EndIf
DC = GetDC_(0)
CreateImage(0, Ecran_Largeur, Ecran_Hauteur)
Dessin = StartDrawing(ImageOutput(0))
BitBlt_(Dessin, 0, 0, Ecran_Largeur, Ecran_Hauteur, DC, 0, 0, #SRCPAINT | $40000000)
StopDrawing()
ReleaseDC_(0, DC)
Date$ = FormatDate("%yyyy%mm%dd_%hh%ii%ss", Date())
SaveImage(0, MonDossier$+"MyScreen"+Date$+".bmp", #PB_ImagePlugin_BMP) ; incrémente chaque image, évite l'écrasement.
#Desk = #True
If #Desk = #True
keybd_event_(#VK_SNAPSHOT, 0, 0, 0)
EndIf
EndProcedure
FlagWin =#PB_Window_SystemMenu |#PB_Window_MinimizeGadget |#PB_Window_TitleBar
ww = 500 : wh = 375
If OpenWindow(#WINMAIN,0,0,ww,wh,"Les photos de mon écran ^_^" ,FlagWin)=0 Or CreateGadgetList(WindowID(#WINMAIN))=0
End
EndIf
ExplorerListGadget(#Screens_Browser, 5, 5, 490, 325, MonDossier$+"*.bmp",#PB_Explorer_MultiSelect|#PB_Explorer_NoParentFolder )
;ChangeListIconGadgetDisplay(#Screens_Browser, #PB_ListIcon_LargeIcon)
ButtonGadget(#BtnDirExplore,5,340,100,25,"Ouvrir")
GadgetToolTip(#BtnDirExplore,"Ouvrir et afficher mes belles images")
ButtonGadget(#BtnQuitter,390,340,100,25,"Quitter")
GadgetToolTip(#BtnQuitter,"Arrêter les photos! N'en jeter plus!")
SetTimer_(WindowID(#WINMAIN),1,5000,@appuie())
; changer la valeur selon temps voulu, là ça va remplir le disque rapidement si tu l'oublies!!!
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #BtnDirExplore : ShellExecute_(0,"open",MonDossier$,0,0,1) ; ouvre le dossier dans l'explorateur Windows
Case #BtnQuitter : Event = #PB_Event_CloseWindow ; ben là on ferme!
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
KillTimer_(WindowID(#WINMAIN),1) ; on arrête le timer avant de terminer le prog
End
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.