Como extrair caminhos de arquivos do evento arrastar e soltar?

1

Eu tenho este aplicativo que lista arquivos em uma caixa de listagem WindowsForms (NET framework). O aplicativo não suporta a operação de cópia se vários arquivos forem selecionados na caixa de listagem, mas, ao mesmo tempo, o aplicativo suporta o evento 'arrastar e soltar' para vários arquivos (permite arrastar os arquivos 'fora do aplicativo'). p>

Como posso extrair os caminhos dos arquivos "arrastados para fora do aplicativo"? (Ou seja, eu solto os arquivos em algum programa / script que me mostra os caminhos / salva os caminhos para um arquivo txt).

    
por colemik 13.06.2012 / 01:46

1 resposta

1

O script bat funcionará com até 15 arquivos, devido à limitação do cmd.exe:

@echo off 
setlocal
:getfile
shift
if "%~1"=="" goto end
echo %1
goto getfile
:end

pause

Script Autohotkey que ultrapassa a limitação:

; The script displays the file paths. File paths that were
; dropped onto the Text control. AHK Text control. AHK Text control
; that is part of this AHK script.
; The script bypasses the ~2048 cmd.exe input parameters character limitation.
; See here for more info:
; http://support.microsoft.com/kb/830473
; http://www.tek-tips.com/viewthread.cfm?qid=1666374
; 
Gui, Add, Text, vText1 h80, Drag files here
Gui, Show

return

GuiDropFiles:
    MsgBox, % "A_GuiControl=" A_GuiControl "'n" ; on what AHK control were files dropped
            . "A_EventInfo=" A_EventInfo "'n"   ; number of files
            . "A_GuiEvent =" A_GuiEvent         ; all filenames, divided by 'n
    ExitApp
return
    
por 13.06.2012 / 02:12

Tags