Ich versuche ein Dokument in den Papierkorb zu verschieben - am Computer hat das ganze noch geklappt - am PC nun nicht mehr.
Kann mir jmd bitte weiterhelfen?
Die Fehlermeldung lautet: Der code in diesem Projek tmuss für di eVerwendung auf 64- Bit-Systemen aktualisiert werden. Überarbeiten und aktualisieren sie Declare-Anweisungen, und markieren Sie sie mit dem PtrSafe-Attribut.
Private Type SHFILEOPSTRUCT
hWnd As Long ' HWND hwnd
wFunc As Long ' UINT wFunc
pFrom As String ' LPCSTR pFrom
pTo As String ' LPCCSTR pTo
fFlags As Integer ' FILEOP_FLAGS fFlags
fAnyOperationsAborted As Long ' BOOL fAnyOperationsAborted
hNameMappings As Long ' LPVOID hNameMappings
lpszProgressTitle As String ' LPCCSTR lpszProgressTitle // only used if FOF_SIMPLEPROGRESS
End Type
' Konstanten für wFunc
Private Const FO_DELETE As Long = &H3 ' Dateien löschen
' Konstanten für fFlags
Private Const FOF_NOCONFIRMATION As Long = &H10 ' Keine Bestätigungen anfordern
Private Const FOF_ALLOWUNDO As Long = &H40 ' in Papierkorb verschieben
Private Const FOF_FILESONLY As Long = &H80 ' bei WildCards *.* nur auf Dateien beziehen
Private Declare Function SHFileOperation Lib "shell64.dll" _
Alias "SHFileOperationA" ( _
lpFileOp As SHFILEOPSTRUCT) As Long
Public Function DateiLoeschen(Dateipfade As String, _
Optional ByVal InPapierkorb As Boolean, _
Optional ByVal MitRueckfrage As Boolean, _
Optional ByVal MitUnterordnern As Boolean) As Boolean
' Quelle: http://www.dbwiki.net/
Dim fo As SHFILEOPSTRUCT
' Datei löschen
fo.wFunc = FO_DELETE
fo.pFrom = Dateipfade
' ggf. Chr$(0) anfügen
If Right$(fo.pFrom, 1) <> vbNullChar Then
fo.pFrom = fo.pFrom & vbNullChar
End If
' in Papierkorb verschieben?
If InPapierkorb = True Then
fo.fFlags = FOF_ALLOWUNDO
End If
' mit Rückfrage?
If Not MitRückfrage Then
fo.fFlags = fo.fFlags Or FOF_NOCONFIRMATION
End If
' mit Unterordnern (bei Angabe von \*.*)?
If Not MitUnterordnern Then
fo.fFlags = fo.fFlags Or FOF_FILESONLY
End If
DateiLoeschen = Not CBool(SHFileOperation(fo))
End Function
|