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