Entschlüsselt eine verschlüsselte Datei oder Verzeichnis.
#include <WinAPIFiles.au3>
_WinAPI_DecryptFile ( $sFilePath )
$sFilePath | Der Name der Datei oder des Verzeichnisses welches entschlüsselt werden soll. Wenn $sFilePath eine nur-lesen Datei angibt, so schlägt die Funktion fehl ist der letzte Fehlercode ist ERROR_FILE_READ_ONLY (6009). Wenn $sFilePath ein Verzeichnis angibt welches eine nur-lesen Datei beinhaltet, so gelingt die Funktion aber das Verzeichnis wird nicht verschlüsselt. |
Erfolg: | True. |
Fehler: | False. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten. |
Die _WinAPI_DecryptFile() Funktion benötigt exklusiven Zugriff zu der zu entschlüsselnden Datei und schlägt fehl sofern ein anderer Prozess diese Datei verwendet.
Wenn die Datei nicht verschlüsselt ist, so gibt die Funktion einen ungleich 0 Wert zurück welcher den Erfolg signalisiert.
Suche nach DecryptFile in der MSDN Bibliothek.
#include <APIFilesConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
Local $sFile = FileOpenDialog('Select File', @ScriptDir, 'All Files (*.*)', BitOR($FD_FILEMUSTEXIST, $FD_PATHMUSTEXIST))
If @error Then Exit
Switch _WinAPI_FileEncryptionStatus($sFile)
Case $FILE_ENCRYPTABLE
If _WinAPI_EncryptFile($sFile) Then
MsgBox(($MB_ICONINFORMATION + $MB_SYSTEMMODAL), 'Encryption File', 'The file encrypted is successfully.')
Else
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Encryption File', 'Unable to encrypt file.')
EndIf
Case $FILE_IS_ENCRYPTED
If MsgBox(($MB_YESNO + $MB_ICONQUESTION + $MB_SYSTEMMODAL), 'Encryption File', 'The file is already encrypted.' & @CRLF & @CRLF & 'Decrypt?') = 6 Then
If _WinAPI_DecryptFile($sFile) Then
MsgBox(($MB_ICONINFORMATION + $MB_SYSTEMMODAL), 'Encryption File', 'The file decrypted is successfully.')
Else
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Encryption File', 'Unable to decrypt file.')
EndIf
EndIf
Case Else
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Encryption File', 'Unable to perform operation.')
EndSwitch