UDF > WinAPIEx > Files & Devices > Files >


_WinAPI_EncryptFile

Crypte un fichier ou un répertoire

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

Paramètre

$sFilePath Le nom du fichier ou du répertoire à crypter.
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 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_EncryptFile() nécessite un accès exclusif au fichier en cours de cryptage, et échouera si un autre processus utilise le fichier.

Si le fichier est déjà crypté, la fonction retourne simplement une valeur différente de zéro, ce qui indique la réussite.
Si le fichier est compressé, la fonction décompresse le fichier avant de le crypter.

Pour décrypter un fichier crypté, utilisez la fonction _WinAPI_DecryptFile().

En relation

_WinAPI_DecryptFile

Voir aussi

Consultez EncryptFile 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), 'Cryptage de fichier', 'Le fichier est crypté avec succès.')
        Else
            MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Cryptage de fichier', 'Impossible de crypter le fichier.')
        EndIf

    Case $FILE_IS_ENCRYPTED
        If MsgBox(BitOR($MB_YESNO, $MB_ICONQUESTION, $MB_SYSTEMMODAL), 'Cryptage de 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 dr fichier', 'Le fichier est décrypté avec succès.')
            Else
                MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Cryptage de fichier', 'Impossible de décrypter le fichier.')
            EndIf
        EndIf
    Case Else
        MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Cryptage de fichier', 'Impossible d''effectuer l''opération.')
EndSwitch