Funktionreferenz


_WinAPI_DecryptFile

Beschreibung anzeigen in

Entschlüsselt eine verschlüsselte Datei oder Verzeichnis.

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

Parameter

$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.

Rückgabewert

Erfolg: True.
Fehler: False. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

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.

Siehe auch

Suche nach DecryptFile in der MSDN Bibliothek.

Beispiel

#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