Карта сайтаСсылкиКонтакты

Получить имя файла из буфера обмена

PDF Печать
Статьи
Программирование на Delphi

Когда Вы используете Проводник Windows для копирования файлов, можно ли использовать функцию Вставить в Вашем приложении?

Этот код демонстрирует, как можно извлечь имена файлов из буфера обмена. Для примера мы вставляем список файлов в компонент TMemo (Memo1). Для этого нужно поместить два компонента на форму: 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.


 

Добавить комментарий


Защитный код
Обновить