Obtient l'état actuel de la compression d'un fichier ou d'un répertoire
#include <WinAPIFiles.au3>
_WinAPI_GetCompression ( $sFilePath )
$sFilePath | Le chemin d'accès au fichier ou au répertoire dont vous voulez l'état de compression. |
Succès: | Retourne l'état actuel de compression ($COMPRESSION_FORMAT_*). |
Échec: | Retourne (-1) et définit @error <> 0. |
Consultez FSCTL_GET_COMPRESSION dans la librairie MSDN.
#include <APISysConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> Local $sFile = FileOpenDialog('Select File', @ScriptDir, 'All Files (*.*)', 1 + 2) If @error Then Exit Switch _WinAPI_GetCompression($sFile) Case -1 MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Compression de fichier', 'Impossible d''effectuer l''opération.') Case $COMPRESSION_FORMAT_NONE If _WinAPI_SetCompression($sFile, $COMPRESSION_FORMAT_DEFAULT) Then MsgBox(BitOR($MB_ICONINFORMATION, $MB_SYSTEMMODAL), 'Compression de fichier', 'Le fichier est compressé avec succès.') Else MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Compression de fichier', 'Impossible de compresser le fichier.') EndIf Case Else If MsgBox(BitOR($MB_YESNO, $MB_ICONQUESTION, $MB_SYSTEMMODAL), 'Compression de fichier', 'Le fichier est déjà compressé.' & @CRLF & @CRLF & 'Je le décompresse?') = 6 Then If _WinAPI_SetCompression($sFile, $COMPRESSION_FORMAT_NONE) Then MsgBox(BitOR($MB_ICONINFORMATION, $MB_SYSTEMMODAL), 'Compression de fichier', 'Le fichier est décompressé avec succès.') Else MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Compression de fichier', 'Impossible de décompresser le fichier.') EndIf EndIf EndSwitch