Bonjour
voila un exemple avec une GUI et 1 bouton. Tu clique sur le bouton et la fonction Capture s'exécute.
La capture te prends tout l'écran et le curseur. tu peux modifier ca en changeant les paramètres de la fonction:
_ScreenCapture_Capture($bug_rep & "\" & $bug_img, 0, 0, @DesktopWidth, @DesktopHeight, True)
Regarde la doc pour leurs explications.
Je t'ai mis en commentaire différent format d'image et leur utilisation (GIF BMP, PNG, JPG), et corriger ta fonction pour créer le dossier si il existe pas.
A toi de faire des essais en fonction de ce que tu veux quand au format, choisie le bien en fonction de la taille de l'image et la lisibilité. Je prendrais plutôt du JPG pas trop lourd et tu peux ajuster la qualité du JPG. A 60 j'ai la même taille de fichier que le Gif avec une plus belle image.
154 Ko pour du 1680X1050.
La dernière ligne de la fonction t'afficheras dans le programme par défaut ton image.
Voila un copier coller de ce code dans Scite puis F5 et regarde.
► Afficher le texteLe code
Code : Tout sélectionner
#Region ;**** Options AutoIt ****
Opt("MustDeclareVars", 1)
Opt("GUICloseOnESC", 1)
Opt("GUIOnEventMode", 1)
#EndRegion ;**** Options AutoIt ****
#Include <ButtonConstants.au3>
#Include <GUIConstantsEx.au3>
#Include <ScreenCapture.au3>
Global $Form1, $Button1
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 64, 40, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUICtrlSetOnEvent($Button1, "Capture")
While 1
Sleep(100)
WEnd
Func _Exit()
Exit 0
EndFunc ;==>_Exit
Func Capture()
Local $bug_rep = "C:\BUGS"
If Not FileExists($bug_rep) Then DirCreate($bug_rep)
Local $local_jour = @Year & "_" & @Mon & "_" & @MDay
Local $local_heure = @Hour & "_" & @Min & "_" & @Sec
Local $bug_img = @ComputerName & "_" & $local_jour & "_" & $local_heure
$bug_img = StringRegExpReplace($bug_img, " ", "")
;~ $bug_img &= ".gif"
;~ $bug_img &= ".png"
$bug_img &= ".jpg"
_ScreenCapture_SetJPGQuality(60)
;~ $bug_img &= ".bmp"
;~ _ScreenCapture_SetBMPFormat(0)
_ScreenCapture_Capture($bug_rep & "\" & $bug_img, 0, 0, @DesktopWidth, @DesktopHeight, True)
ShellExecute($bug_rep & "\" & $bug_img)
EndFunc ;==>Capture