Crypte un fichier ou un répertoire
#include <WinAPIFiles.au3>
_WinAPI_EncryptFile ( $sFilePath )
$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é. |
Succès: | Retourne True. |
Échec: | Retourne False, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur |
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().
Consultez EncryptFile dans la librairie MSDN.
#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