Hola la otra vuelta havia puesto un ejemplo de hacer drag & drop con archivos y que la ruta de estos quedaran en un listbox (mediante el api) bien ahora encotre otra forma la cual me parece mucho mejor porque esta tambien permite volver a insetar el archivo del list en un directorio(quizas vimosmuchas veses esta propiedad del list pero nunca la supimos usar)


agreguen un list1 y en la propiedad "Multiselect" poner 2-Extenced


Private Sub Form_Load()
List1.OLEDropMode = 1
List1.OLEDragMode = 1
End Sub


Private Sub List1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Integer
If Data.GetFormat(vbCFFiles) = True Then
For i = 1 To Data.Files.Count
List1.AddItem Data.Files(i)
Next
End If
End Sub


Private Sub List1_OLEStartDrag(Data As DataObject, AllowedEffects As Long)
Dim i As Integer
For i = 1 To List1.SelCount
Data.Files.Add List1.List(i - 1)
Data.SetData , vbCFFiles
Next
End Sub





bien espero les sea util este ejemplo tiene un pequeño defecto que si se suelta lo selecionado del list en el mismo list lo vuelve a agregar pero vasta con hacer una comprovacionde existencia y listo