Delphi-Help

Главная Статьи Буфер обмена Как скопировать файлы в буфер обмена?

Как скопировать файлы в буфер обмена?

Оцените материал
(0 голосов)


Как скопировать файлы в буфер обмена?

uses
  ..., ShlObj, ClipBrd;
 
procedure CopyFilesToClipboard( FileList: string );
var
  DropFiles: PDropFiles;
  hGlobal: THandle;
  iLen: Integer;
begin
   iLen := Length( FileList ) + 2;
   FileList := FileList + #0#0;
   hGlobal := GlobalAlloc( GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT, SizeOf( TDropFiles ) + iLen );
   if ( hGlobal = 0 ) then raise Exception.Create( 'Could not allocate memory.' );
   begin
      DropFiles := GlobalLock( hGlobal );
      DropFiles^.pFiles := SizeOf( TDropFiles );
      Move( FileList[1], ( PChar( DropFiles ) + SizeOf( TDropFiles ) )^, iLen );
      GlobalUnlock( hGlobal);
      Clipboard.SetAsHandle( CF_HDROP, hGlobal );
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   CopyFilesToClipboard( 'C:\boot.ini'#0'C:\autoexec.bat' );
end;

Файлы должны разделяться про помощи #0.

Прочитано 4129 раз

Авторизация



Счетчики