Страница: 1 |
|
Вопрос: Работа с содержимым буфера обмена
|
Добавлено: 11.06.09 16:56
|
|
Автор вопроса: AlexCage
|
Пользователь выбирает в папке файлы и копирует в буфер, затем запускает процедуру, которая берет файлы указанные в буфере, переносит в заданную папку. Возможно ли реализовать даную задачу, подскажите где поискать инфу, плз?
Ответить
|
Номер ответа: 4 Автор ответа: AlexCage
Вопросов: 1 Ответов: 2
|
Профиль | | #4
|
Добавлено: 13.06.09 02:37
|
VβÐ Uηit, пасиб за ответ. Короче вот чего получается.
-
- Public Type POINTAPI
- x As Long
- y As Long
- End Type
-
- ...
- Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
- Public Declare Function CloseClipboard Lib "user32" () As Long
- Public Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long)
- Public Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Long) As Long
- Public Declare Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal hDrop As Long, ByVal UINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long
- ...
-
- Public Const CF_HDROP As Long = 15
- ...
-
- Private Function TrimNull(ByVal sTmp As String) As String
- Dim nNul As Long
- nNul = InStr(sTmp, vbNullChar)
- Select Case nNul
- Case Is > 1
- TrimNull = Left(sTmp, nNul - 1)
- Case 1
- TrimNull = ""
- Case 0
- TrimNull = Trim(sTmp)
- End Select
- End Function
-
- ...
- Sub PasteFilesFromClipboard()
- Dim hDrop As Long
- Dim nFiles As Long
- Dim i As Long
- Dim desc As String
- Dim filename As String
- Dim pt As POINTAPI
- Const MAX_PATH As Long = 260
- Dim sFiles() As String
-
- If IsClipboardFormatAvailable(CF_HDROP) Then
- If OpenClipboard(0&) Then
-
- hDrop = GetClipboardData(CF_HDROP)
- nFiles = DragQueryFile(hDrop, -1&, "", 0)
-
-
- ReDim sFiles(0 To nFiles - 1) As String
- filename = Space(MAX_PATH)
-
-
- For i = 0 To nFiles - 1
- Call DragQueryFile(hDrop, i, filename, Len(filename))
- sFiles(i) = TrimNull(filename)
- MsgBox sFiles(i)
- Next
-
-
- Call CloseClipboard
- End If
- ...
-
- End If
- End Sub
Плз, подскажите из-за чего может вылезать данная ошибка?
Ответить
|
Страница: 1 |
Поиск по форуму