Code : Tout sélectionner
#include <file.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
$RFIDir=@TempDir & "\RFI\"
DirRemove($RFIDir,1)
DirCreate($RFIDir)
Global $Form1 = GUICreate("Form1", 480, 115, 100, 100, -1, $WS_EX_ACCEPTFILES)
GUICtrlCreateLabel("Glissez / déposez le fichier afin d'y récupérer les informations", 10, 10, 370, 20)
GUICtrlSetFont(-1, 9, 400, 0, "comic sans ms")
$IoFile = GUICtrlCreateInput("", 10, 40, 460, 20)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$RecupBT = GUICtrlCreateButton("récupérer les infos", 10, 75, 140, 30)
_GUICTRLBUTTON_SETIMAGELIST(-1,_GETIMAGELISTHANDLE(@ScriptDir&"\Images\recuperer.ico",0,TRUE ))
$iErase = GUICtrlCreateButton("effacer la zone", 170, 75, 140, 30)
_GUICTRLBUTTON_SETIMAGELIST(-1,_GETIMAGELISTHANDLE(@ScriptDir&"\Images\effacer.ico",0,TRUE ))
$Exit = GUICtrlCreateButton("fermer le programme", 330, 75, 140, 30)
_GUICTRLBUTTON_SETIMAGELIST(-1,_GETIMAGELISTHANDLE(@ScriptDir&"\Images\quitter.ico",0,TRUE ))
;~ _GetInfo(@DesktopDir & "\64.exe")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $iErase
GUICtrlSetData($IoFile, "")
Case $RecupBT
If GUICtrlRead($IoFile) = "" Then
MsgBox(0, "Erreur !", "Attention, vous avez oublié d'indiquer le fichier à traiter." & @CRLF & @CRLF & "Appuyer sur OK pour réitérer l'opération.")
Else
If Not FileExists(GUICtrlRead($IoFile)) Then
MsgBox(0, "Erreur !", "Attention, le fichier que vous avez indiqué n'existe pas." & @CRLF & @CRLF & "Plusieurs causes possible :" & @CRLF & "1. Le chemin indiqué et erroné." & @CRLF & "2. Le fichier n'existe pas." & @CRLF & @CRLF & "Glissez et déposez le fichier, vous évitera ce genre de souci." & @CRLF & "Appuyez sur OK pour continier.")
Else
_GetInfo(GUICtrlRead($IoFile))
EndIf
EndIf
EndSwitch
WEnd
Func _GetInfo($IoFichier)
Local $szDrive, $szDir, $szFName, $szExt
_PathSplit($IoFichier, $szDrive, $szDir, $szFName, $szExt)
$WorkingDir = $szDrive & $szDir
$FileInDir = $szFName & $szExt
Global $Form2 = GUICreate("Form1", 480, 280, 100, 260)
GUICtrlCreateLabel("Informations concernant le fichier", 20, 10, 420, 20)
GUICtrlSetFont(-1, 9, 400, 0, "comic sans ms")
GUICtrlCreateLabel($FileInDir, 20, 30, 420, 20)
GUICtrlSetFont(-1, 9, 600, 0, "comic sans ms")
GUICtrlSetColor(-1,0x416590)
$InfosList = GUICtrlCreateListView("",10,70,250,200)
_GUICtrlListView_AddColumn($InfosList, "propriétés", 80)
_GUICtrlListView_AddColumn($InfosList, "", 80)
_GUICtrlListView_AddColumn($InfosList, "Résultat", 90)
;~ $RFI_Resultat = $RFIDir & "RFI_Resultat.txt"
;~ $RFI_Result = FileOpen($RFI_Resultat,2)
local $FGV_StringName[13]
$FGV_StringName[1] = "Comments"
$FGV_StringName[2] = "InternalName"
$FGV_StringName[3] = "ProductName"
$FGV_StringName[4] = "CompanyName"
$FGV_StringName[5] = "LegalCopyright"
$FGV_StringName[6] = "ProductVersion"
$FGV_StringName[7] = "FileDescription"
$FGV_StringName[8] = "LegalTrademarks"
$FGV_StringName[9] = "PrivateBuild"
$FGV_StringName[10] = "FileVersion"
$FGV_StringName[11] = "OriginalFilename"
$FGV_StringName[12] = "SpecialBuild"
local $FGV_StringName_FR[13]
$FGV_StringName_FR[1] = "Commentaires"
$FGV_StringName_FR[2] = "Nom interne"
$FGV_StringName_FR[3] = "Nom du produit"
$FGV_StringName_FR[4] = "Propriétaire"
$FGV_StringName_FR[5] = "LegalCopyright"
$FGV_StringName_FR[6] = "Version du produit"
$FGV_StringName_FR[7] = "Description du fichier"
$FGV_StringName_FR[8] = "LegalTrademarks"
$FGV_StringName_FR[9] = "PrivateBuild"
$FGV_StringName_FR[10] = "Version du fichier"
$FGV_StringName_FR[11] = "OriginalFilename"
$FGV_StringName_FR[12] = "SpecialBuild"
$RFI_Rapport = $RFIDir & "\" & "RFI[" & $szFName & "].txt"
$RFI_Result = FileOpen($RFI_Rapport,2)
FileWriteLine($RFI_Result,"-")
FileWriteLine($RFI_Result," RecupFileInfo ")
FileWriteLine($RFI_Result,"---------------"&@crlf&@crlf)
FileWriteLine($RFI_Result,"Fichier traité : " & $FileInDir)
FileWriteLine($RFI_Result,"chemin : " & $IoFichier&@crlf&@crlf)
FileWriteLine($RFI_Result,"-------")
FileWriteLine($RFI_Result,"-------"&@crlf&@crlf)
For $i = 1 To 12
FileWriteLine($RFI_Result,$FGV_StringName[$i] & " (" & $FGV_StringName_FR[$i] & ") : " & FileGetVersion($iofichier,$FGV_StringName[$i]))
GUICtrlCreateListViewItem($FGV_StringName[$i] & "|" & $FGV_StringName_FR[$i] & "|" & FileGetVersion($iofichier,$FGV_StringName[$i]),$InfosList)
Next
FileClose($RFI_Result)
ShellExecute($RFI_Rapport)
;~ for $i=1 to 12
;~ FileWriteLine($RFI_Result,$FGV_StringName[$i] & $separation[$i] & FileGetVersion($iofichier,$FGV_StringName[$i]))
;~ Next
;~ FileClose($RFI_Result)
;~ GUICtrlSetData($InfosEdit,FileRead($RFI_Resultat))
;~ MsgBox(0,"",$var)
;~ GUICtrlSetData($InfosEdit,$FGV_StringName[1] & "" & FileGetVersion($iofichier,$FGV_StringName[1]))
$copycontent = GUICtrlCreateButton("copier le contenu",300,70,140,30)
_GUICTRLBUTTON_SETIMAGELIST(-1,_GETIMAGELISTHANDLE(@ScriptDir&"\Images\copiercontenu.ico",0,TRUE ))
$createreport = GUICtrlCreateButton("créer un rapport",300,120,140,30)
_GUICTRLBUTTON_SETIMAGELIST(-1,_GETIMAGELISTHANDLE(@ScriptDir&"\Images\rapport.ico",0,TRUE ))
$ExitTool = GUICtrlCreateButton("fermer la fenêtre",300,240,140,30)
_GUICTRLBUTTON_SETIMAGELIST(-1,_GETIMAGELISTHANDLE(@ScriptDir&"\Images\retour12.ico",0,TRUE ))
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($Form2)
ExitLoop
EndSwitch
WEnd
;~ MsgBox(0, "", $IoFichier)
;~ $ZHPHEP_DIR = @ProgramFilesDir & "\ZebHelpProcess\"
;~ $ZHPHEP_EXE = @ProgramFilesDir & "\ZebHelpProcess\ZHPHep.exe"
;~ $FGV_StringName[1] = "Comments"
;~ $FGV_StringName[2] = "InternalName"
;~ $FGV_StringName[3] = "ProductName"
;~ $FGV_StringName[4] = "CompanyName"
;~ $FGV_StringName[5] = "LegalCopyright"
;~ $FGV_StringName[6] = "ProductVersion"
;~ $FGV_StringName[7] = "FileDescription"
;~ $FGV_StringName[8] = "LegalTrademarks"
;~ $FGV_StringName[9] = "PrivateBuild"
;~ $FGV_StringName[10] = "FileVersion"
;~ $FGV_StringName[11] = "OriginalFilename"
;~ $FGV_StringName[112] = "SpecialBuild"
EndFunc ;==>_GetInfo
Func _GetImageListHandle($sFile, $nIconID = 0, $fLarge = False)
Local $iSize = 16
If $fLarge Then $iSize = 22
Local $hImage = _GUIImageList_Create($iSize, $iSize, 5, 3)
If StringUpper(StringMid($sFile, StringLen($sFile) - 2)) = "BMP" Then
_GUIImageList_AddBitmap($hImage, $sFile)
Else
_GUIImageList_AddIcon($hImage, $sFile, $nIconID, $fLarge)
EndIf
Return $hImage
EndFunc ;==>_GetImageListHandle