Décrypte un fichier ou un répertoire crypté
#include <WinAPIFiles.au3>
_WinAPI_DecryptFile ( $sFilePath )
$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é. |
Succès: | Retourne True. |
Échec: | Retourne False, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur |
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.
Consultez DecryptFile 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), '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