如复制D:/1.jpgvar S: wideString;//注意要WideString; S1: String; i: Integer; Stream: TMemoryStream;begin Stream := TMemoryStream.Create; S := #$14#0#0#0#0#0#0#0#1#0+'D:/1.jpg'+#0#0; //SetLength(S1, Length(S)*2); for i := 1 to Length(S) do S1 := S1+S+#0; Stream.Write(Pointer(S1)^, Length(S1)); CopyStreamToClipboard(CF_HDROP, Stream); Stream.Free;end;procedure CopyStreamToClipboard(fmt: Cardinal; S: TStream);var hMem: THandle; pMem: Pointer; begin Assert(Assigned(S)); S.Position := 0; hMem := GlobalAlloc(GHND or GMEM_DDESHARE, S.Size); if hMem <> 0 then begin pMem := GlobalLock(hMem); if pMem <> nil then begin try S.Read(pMem^, S.Size); S.Position := 0; finally GlobalUnlock(hMem); end; Clipboard.Open; try Clipboard.SetAsHandle(fmt, hMem); finally Clipboard.Close; end; end { If } else begin GlobalFree(hMem); OutOfMemoryError; end; end { If } else OutOfMemoryError; end; { CopyStreamToClipboard } 以上方法对全英文或数字的有效,中文的微软有个转化, LZ自己研究下好了