M
mt
How can i use the "SHFileOperation" with vb.net.
i use the below code; but i get the error " Object reference not set to an
instance of an object"
please advise
(and can i use this api for multiple file operations?)
Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40
Public Const FOF_NOALLOWUNDO = 0
Public Const FO_MOVE = &H1
Public Const FO_COPY = &H2
Public Const FO_RENAME = &H4
<StructLayout(LayoutKind.Sequential)> _
Public Structure SHFILEOPSTRUCT
Public hwnd As Long
Public wFunc As Long
Public pFrom As String
Public pTo As String
Public fFlags As Integer
Public fAnyOperationsAborted As Boolean
Public hNameMappings As Long
Public lpszProgressTitle As String
End Structure
Public Declare Function SHFileOperation Lib "shell32.dll" Alias
"SHFileOperationA" (ByVal lpFileOp As SHFILEOPSTRUCT) As Long
Public Function DeleteFile(ByVal FileToDelete As String) As Long
Dim FileOperation As New SHFILEOPSTRUCT()
With FileOperation
..wFunc = FO_DELETE
..pFrom = FileToDelete
..fFlags = &H40
End With
DeleteFile = SHFileOperation(FileOperation)
End Function
i use the below code; but i get the error " Object reference not set to an
instance of an object"
please advise
(and can i use this api for multiple file operations?)
Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40
Public Const FOF_NOALLOWUNDO = 0
Public Const FO_MOVE = &H1
Public Const FO_COPY = &H2
Public Const FO_RENAME = &H4
<StructLayout(LayoutKind.Sequential)> _
Public Structure SHFILEOPSTRUCT
Public hwnd As Long
Public wFunc As Long
Public pFrom As String
Public pTo As String
Public fFlags As Integer
Public fAnyOperationsAborted As Boolean
Public hNameMappings As Long
Public lpszProgressTitle As String
End Structure
Public Declare Function SHFileOperation Lib "shell32.dll" Alias
"SHFileOperationA" (ByVal lpFileOp As SHFILEOPSTRUCT) As Long
Public Function DeleteFile(ByVal FileToDelete As String) As Long
Dim FileOperation As New SHFILEOPSTRUCT()
With FileOperation
..wFunc = FO_DELETE
..pFrom = FileToDelete
..fFlags = &H40
End With
DeleteFile = SHFileOperation(FileOperation)
End Function