UDF > WinAPIEx > Files & Devices > Files >


_WinAPI_DecryptFile

Décrypte un fichier ou un répertoire crypté

#include <WinAPIFiles.au3>
_WinAPI_DecryptFile ( $sFilePath )

Paramètre

$sFilePath Le nom du fichier ou du répertoire à déchiffrer. Si $sFilePath spécifie un fichier en lecture seule, la fonction échoue et le dernier code d'erreur est ERROR_FILE_READ_ONLY (6009). Si $sFilePath spécifie un répertoire qui contient un fichier en lecture seule, la fonction réussit mais le répertoire n'est pas décrypté.

Valeur de retour

Succès: Retourne True.
Échec: Retourne False, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur

Remarques

La fonction _WinAPI_DecryptFile() nécessite un accès exclusif au fichier en cours de décryptage, et échouera si un autre processus utilise le fichier.

Si le fichier n'est pas crypté, la fonction retourne simplement une valeur différente de zéro, ce qui indique la réussite.

Voir aussi

Consultez DecryptFile dans la librairie MSDN.

Exemple

#include <APIFilesConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Local $sFile = FileOpenDialog('Select File', @ScriptDir, 'All Files (*.*)', 1 + 2)
If @error Then Exit

Switch _WinAPI_FileEncryptionStatus($sFile)
    Case $FILE_ENCRYPTABLE
        If _WinAPI_EncryptFile($sFile) Then
            MsgBox(BitOR($MB_ICONINFORMATION, $MB_SYSTEMMODAL), 'Encryption File', 'The file encrypted is successfully.')
        Else
            MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Encryption File', 'Unable to encrypt file.')
        EndIf

    Case $FILE_IS_ENCRYPTED
        If MsgBox(BitOR($MB_YESNO, $MB_ICONQUESTION, $MB_SYSTEMMODAL), 'Cryptage d'un fichier', 'Le fichier est déjà crypté.' & @CRLF & @CRLF & 'Je le décrypte?') = 6 Then
            If _WinAPI_DecryptFile($sFile) Then
                MsgBox(BitOR($MB_ICONINFORMATION, $MB_SYSTEMMODAL), 'Cryptage d'un fichier', 'Le fichier est décrypté avec succès.')
            Else
                MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Cryptage d'un fichier', 'Impossible de décrypter le fichier.')
            EndIf
        EndIf
    Case Else
        MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Cryptage d'un fichier', 'Impossible d'effectuer l'opération.')
EndSwitch