Ce script fonctionne (sans message d'erreur) , mis a part que les bouton n'y sont pas:
► Afficher le texte
Global $REPERTOIRE = @ScriptDir & "\" ; Le "\" final est important
Global $COMMANDE = @ComSpec & " /c " & "changer.bat" ; Ligne de commande du batch/cmd à appliquer
DirCreate($REPERTOIRE) ; Au cas où il n'existe pas
; Lancement pour le test
traitementImage()
Func traitementImage()
Local $retour, $ecrase, $nomImage, $cheminImage = FileOpenDialog("Choisir une image","images","Images (*.jpg;*.bmp)|Tous (*.*)",1)
If @error Then
MsgBox(0,"Erreur 1 :","Le choix de l'image n'a pas été pris en compte")
Return 1
Else
$ecrase = 1 ; Valeur "1" si écrasement possible du fichier
$retour = FileCopy($cheminImage,$REPERTOIRE,$ecrase) ; "FileMove" si déplacement vers le répertoire de l'utilitaire
If $retour = 0 Then
MsgBox(0,"Erreur 2 :","La copie/déplacement du fichier a échoué(e)")
Return 2
Else
$nomImage = StringTrimLeft($cheminImage,StringInStr($cheminImage,"\",0,-1)) ; On isole le nom de l'image sans les repertoires (dernier "\")
$nomDestination = "MonImage."&StringTrimLeft($nomImage,StringInStr($nomImage,".",0,-1)) ; On garde l'extension du fichier de départ
$retour = FileMove($REPERTOIRE&$nomImage, $REPERTOIRE&$nomDestination, 1)
If $retour = 0 Then
MsgBox(0,"Erreur 3 :","Le renommage du fichier a échoué")
Return 3
Else
RunWait($COMMANDE,$REPERTOIRE,@SW_HIDE)
If @error Then
MsgBox(0,"Erreur 4 :","Le batch a planté")
Return 4
EndIf
EndIf
EndIf
EndIf
Return 0 ; Pas d'erreur
EndFunc
Il me manquerait a savoir comment lancer les trois actions avec les bouton(traitement d'image,lancement du bat,exit)
Avec les boutons ça donnerait ça:
► Afficher le texte
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global $Form2 = GUICreate("Changeur image panneau", 523, 104, 236, 173)
GUISetIcon("@ScriptDir Icon 04.ico", -1)
GUISetBkColor(0x000000)
Global $Button1 = GUICtrlCreateButton("&Choisir image", 422, 3, 83, 25, $BS_NOTIFY)
Global $Button2 = GUICtrlCreateButton("&Changer bouton", 421, 36, 83, 25, $BS_NOTIFY)
Global $Button3 = GUICtrlCreateButton("&Quitter", 421, 68, 83, 25, $BS_NOTIFY)
Global $Label1 = GUICtrlCreateLabel("Cliquer sur le bouton et choisir une image parmis celles proposées", 8, 8, 399, 20, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Label2 = GUICtrlCreateLabel("Cliquer sur le bouton pour changer le panneau puis redémarrer", 16, 40, 375, 20, 0)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Pic1 = GUICtrlCreatePic("C:\Users\Thierry\Downloads\projet\Changeur panneau systeme\Capture.JPG", 8, 64, 409, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
WEnd
; Déclaration du répertoire d'arrivée
Global $REPERTOIRE = @ScriptDir & "\" ; Le "\" final est important
Global $COMMANDE = @ComSpec & " /c " & "changer.bat" ; Ligne de commande du batch/cmd à appliquer
DirCreate($REPERTOIRE) ; Au cas où il n'existe pas
; Lancement pour le test
Case $Button1
Func traitementImage()
Local $retour, $ecrase, $nomImage, $cheminImage = FileOpenDialog("Choisir une image","images","Images (*.jpg;*.bmp)|Tous (*.*)",1)
If @error Then
MsgBox(0,"Erreur 1 :","Le choix de l'image n'a pas été pris en compte")
Return 1
Else
$ecrase = 1 ; Valeur "1" si écrasement possible du fichier
$retour = FileCopy($cheminImage,$REPERTOIRE,$ecrase) ; "FileMove" si déplacement vers le répertoire de l'utilitaire
If $retour = 0 Then
MsgBox(0,"Erreur 2 :","La copie/déplacement du fichier a échoué(e)")
Return 2
Else
$nomImage = StringTrimLeft($cheminImage,StringInStr($cheminImage,"\",0,-1)) ; On isole le nom de l'image sans les repertoires (dernier "\")
$nomDestination = "MonImage."&StringTrimLeft($nomImage,StringInStr($nomImage,".",0,-1)) ; On garde l'extension du fichier de départ
$retour = FileMove($REPERTOIRE&$nomImage, $REPERTOIRE&$nomDestination, 1)
If $retour = 0 Then
MsgBox(0,"Erreur 3 :","Le renommage du fichier a échoué")
Return 3
Else
Case $Button2 RunWait($COMMANDE,$REPERTOIRE,@SW_HIDE)
If @error Then
MsgBox(0,"Erreur 4 :","Le batch a planté")
Return 4
Else
Case $Button3 Exit
EndIf
EndIf
EndIf
EndIf
Return 0 ; Pas d'erreur
EndFunc
Mais la j'ai l'erreur
