Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Copy file to clipboard

Status
Not open for further replies.

Allyen1

Programmer
Feb 19, 2003
1
CZ
Can anybody tell me how to copy file to Windows clipboard?
I tried this:

Code:
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;

But it doesn't work in Nero Burning Rom. After I click "paste", it closes without any warning. And also Clipboard Viewer doesn't show the names of copied files like when copied from Explorer does.
 
Windows copy only the path of a file into the clipboard, you dont need to copy the content of the file. When you paste windows just use the path to find the file. So dont copy the content of the file, just copy the path to it.

Hope it helps

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top