Tlem a écrit :Je pense qu'il manque des espaces :
J'ai "erreur dans l'expression" en mettant les espaces.
ani a écrit :Dim $upx = &@TempDir"\upx.exe" ; le chemin de upx
soit C'cette erreur ou alors celle cité plus haut l'espacement ou encore quote ou encore l'ensemble
ou t'a rajouté cette variable ($upx) supplémentaire pour réduire le code ?
au lieu d'un run remplace le par un consolwrite|msgbox
car là il est vrai qu'il manque des espaces et un commutateurs pour la variable niveau (ou c'est inclus dans ton combo?)
Sans le
& Autoit m'annonce une erreur. EDIT : j'ai rectifié effectivement.
Et oui le commutateur est inclus dans le combo.
En revanche Consolewrite n'est pas adapté car la manip est censé se faire en caché.
DimVar a écrit :Bonjour 4sp4rt4m3,
Je vois que tu es sous W7 ou Vista et j'ai deja rencontré un pb avec le retour de @tempdir qui me renvoyait une chaine avec les noms de dossier de type "C:\Users\ADMINI~1\AppData\Local\Temp" au lieu de "administrateur"... (sous XP pas de soucis)
Cdlt.
j'ai le même problème sous XP, soit rien se lance...
Je vous met le code complet, pour y voir mieux, j'ai peut être foiré ailleurs :
► Afficher le texteCode complet
#NoTrayIcon
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Gui4upx.ico
#AutoIt3Wrapper_Outfile=GUI_4_UPX.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Description=GUI For UPX
#AutoIt3Wrapper_Res_Fileversion=0.0.0.3
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Res_Field=|c:\users\moi\Desktop\upx.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Array.au3>
#Region ### START Koda GUI section ### Form=C:\Users\moi\Desktop\GUI for UPX.kxf
$Form1 = GUICreate("GUI 4 UPX", 385, 238, -1, -1)
GUISetIcon("C:\Users\moi\Desktop\Gui4upx.ico", -1)
$Group1 = GUICtrlCreateGroup(" Choix ", 10, 42, 365, 53)
$Radio1 = GUICtrlCreateRadio("Compression", 40, 62, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetCursor (-1, 0)
$Radio2 = GUICtrlCreateRadio("Décompression", 244, 62, 93, 17)
GUICtrlSetCursor (-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Input1 = GUICtrlCreateInput("Sélectionnez le chemin de l'executable...", 10, 10, 325, 21)
$Button1 = GUICtrlCreateButton("...", 342, 9, 33, 22)
GUICtrlSetTip(-1, "Parcourir")
$Group2 = GUICtrlCreateGroup(" Options ", 10, 102, 365, 67)
$Label1 = GUICtrlCreateLabel("Niv. Compr :", 22, 128, 62, 17)
GUICtrlSetTip(-1, "Niveau de compression")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Combo1 = GUICtrlCreateCombo("", 91, 126, 49, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "-1|-2|-3|-4|-5|-6|-7|-8|-9|--best", "-1")
GUICtrlSetCursor (-1, 0)
$Compr = GUICtrlCreateButton("Compresser", 208, 206, 80, 25)
$Decompr = GUICtrlCreateButton("Décompresser", 296, 206, 80, 25)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $Input2 = GUICtrlCreateInput("Sélectionnez le chemin de destination...", 10, 176, 325, 21)
$Button4 = GUICtrlCreateButton("...", 342, 175, 33, 22)
GUICtrlSetTip(-1, "Parcourir")
Dim $Char = "\"
$upx = &@TempDir"\upx.exe" ; le chemin de upx
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
FileDelete(@TempDir &"\upx.exe") ; à la fermeture du programme, efface "upx.exe" du dossier temp
Exit
Case $Radio1
GUICtrlSetState($Compr, $GUI_ENABLE) ; active le bouton "compresser"
GUICtrlSetState($Label1, $GUI_ENABLE) ; active le Label1
GUICtrlSetState($Combo1, $GUI_ENABLE) ; active la combobox1
GUICtrlSetState($Decompr, $GUI_DISABLE) ; désactive le bouton "décompresser"
Case $Radio2
GUICtrlSetState($Decompr, $GUI_ENABLE) ; active le bouton "décompresser"
GUICtrlSetState($Compr, $GUI_DISABLE) ; Desactive le bouton "compresser"
GUICtrlSetState($Combo1, $GUI_DISABLE) ; Desactive la combobox1
GUICtrlSetState($Label1, $GUI_DISABLE) ; Desactive le Label1
Case $Button1
Global $FilePath1 = FileOpenDialog("Sélectionnez l'executable", @DesktopDir, "Executable (*.exe)", 1)
GUICtrlSetData($Input1, $FilePath1)
Case $Button4
Global $FileSave1 = _WinAPI_GetSaveFileName("Enregistrez l'executable compressé","Executable (*.exe)", @DesktopDir)
If $FileSave1[1] = "" Then ; si aucune données n'est sélectionné alors...
GUICtrlSetData($Input2, "Sélectionnez le chemin de destination...")
Else ; sinon
GUICtrlSetData($Input2, $FileSave1[1]&$Char&$FileSave1[2]) ; envoyer les données récoltées dans $Input2
EndIf
Case $Compr
FileInstall(".\upx.exe", @TempDir &"\") ; envoyer "upx.exe" dans le dossier Temp
$LireInput2 = GUICtrlRead($Input2)
$Niv = GUICtrlRead($Combo1)
Run(@ComSpec & '/k ' @TempDir & 'upx.exe' & " " & $FilePath1 & " " & $Niv & ' -o' & $LireInput2 ,"" , @SW_SHOW) ; ligne de commande
EndSwitch
WEnd
Voila, si quelqu'un a le temps de jeter un coup d'oeil. Merci à vous tous en tout cas
