Получить имя файла из буфера обмена
Для этого нужно поместить два компонента на форму: TMemo (Memo1) и TButton (Button1). Не забудьте в секцию uses дописать модули Clipbrd и ShellApi. В событие OnClick кнопки вставьте этот код:
uses { ... } Clipbrd, ShellApi; procedure TForm1.Button1Click(Sender: TObject) ; var f: THandle; buffer: Array [0..MAX_PATH] of Char; i, numFiles: Integer; begin Clipboard.Open; try f:= Clipboard.GetAsHandle( CF_HDROP ) ; If f <> 0 Then begin numFiles := DragQueryFile( f, $FFFFFFFF, nil, 0 ) ; Memo1.Clear; for i:= 0 to numFiles - 1 do begin buffer[0] := #0; DragQueryFile( f, i, buffer, sizeof(buffer)) ; Memo1.Lines.Add( buffer ) ; end; end; finally Clipboard.Close; end; end;
Сначала копируем файлы в Проводнике Windows, а затем нажимаем кнопку Button1 в Вашем приложении, список скопированных файлов будет отображен в компоненте TMemo.
Комментарии