PEGAR O ENDERECO DE UM ARQUIVO QUE FOI COPIADO

ADEMIRFALCAO 11/09/2009 16:07:03
#322648
Tenho uma listview que lista os arquivos de uma pasta, e eu adiciono e apago arquivos...

estou tentando fazer com que quando o usuario dá um ctrl+c em um arquivo e vai na listview e dá um ctrl+v eu colo esse arquivo na pasta que a listview lista...

pela classe clipboard eu só consigo colar texto e imagem, mas preciso para os arquivos em geral...

alguém sabe alguma forma de ler o caminho do arquivo que foi copiado para a memória do explorer?
TECLA 13/09/2009 12:34:27
#322752
Resposta escolhida
Use a função FileCopy.
FileCopy <Path_Arquivo_Origem>, <Path_Arquivo_Destino>
ADEMIRFALCAO 13/09/2009 17:05:32
#322771
eu sei disso amigo, só que no filecopy, preciso do Path_Arquivo_Origem, e esse endereço é do arquivo que está na memoria, ou seja, o arquivo que foi copiado com ctrl+c, é isso que eu preciso......
RICATOM 14/09/2009 13:43:13
#322817
E se vc usasse [Ô]drag and drop[Ô] ?

Veja o exemplo anexo, que ao arrastar um arquivo para o list ele [Ô]pega[Ô] o caminho do arquivo. Ou pesquise aqui no site mesmo


Abs
ADEMIRFALCAO 14/09/2009 13:55:44
#322818
ai cara valeu mesmo, eu tinha acabado de conseguir fazer, utilizando o metodo que vc indicou.....


Private 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
Private Declare Function GetClipboardData Lib [Ô]user32.dll[Ô] (ByVal wFormat As Long) As Long
Private Declare Function OpenClipboard Lib [Ô]user32.dll[Ô] (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib [Ô]user32.dll[Ô] () As Long



Private Sub Form_Load()
Dim caminho As String * 255

If Clipboard.GetFormat(15) = True Then

caminho = String$(255, Chr$(0))
OpenClipboard (Me.hwnd)
DragQueryFile GetClipboardData(vbCFFiles), 0, caminho, 255
CloseClipboard

End If

End Sub
Tópico encerrado , respostas não são mais permitidas