Страница: 1 |
Вопрос: Корзина | Добавлено: 30.09.03 17:38 |
Автор вопроса: ![]() |
Объявляю: 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 Long Public hNameMappings As Long Public lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS End Structure Private Const FO_DELETE = &H3 Private Const FOF_ALLOWUNDO = &H40 Private Const FOF_NOCONFIRMATION = &H10 <DllImport("shell32.dll")> Public Function SHFileOperation _ (ByVal lpFileOp As SHFILEOPSTRUCT) As Integer End Function Использую: Private Function DelFToRBin(ByVal strVvFilePathName As String _ , Optional ByVal blnVvPrompt As Boolean = True _ ) As Boolean Try Dim udtLvShFileOpStruct As SHFILEOPSTRUCT Dim lngLvReturn As Long With udtLvShFileOpStruct .wFunc = FO_DELETE .pFrom = strVvFilePathName .fFlags = FOF_ALLOWUNDO + IIf(blnVvPrompt, 0, FOF_NOCONFIRMATION) End With lngLvReturn = SHFileOperation(udtLvShFileOpStruct) DelFToRBin = True Catch EH As Exception DelFToRBin = False MsgBox("Неудается удалить файл" & vbCrLf & EH.Message, vbCritical, "Error") End Try End Function НО ни чего не работает... Пишет, что неправильная конструкция... Помогите разобраться. |
Ответы | Всего ответов: 2 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 01.10.03 13:14 |
Для вызова АПИ нельзя использовать строки, нужно юзать стркои фиксированной длины. Например, так объявляется строка длиной в 64 символа: <MarshalAs(UnmanagedType.ByValTStr, sizeconst:=64)> szFileType as String |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 58 Ответов: 201 |
Профиль | Цитата | #2 | Добавлено: 02.10.03 10:11 |
Спасибо, только все равно не работает... Сейчас, вообще пишет, что структура не та, хотя в vb6 все работает. Может знает кто, как удалить файл в корзину??? |
Страница: 1 |
|