注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

BCB-DG's Blog

...

 
 
 

日志

 
 

Delphi拷贝文件到剪贴板  

2011-09-07 14:01:03|  分类: Delphi |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
//轉

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:\temp.Txt'#0'C:\temp.bmp');
end;


uses shlobj,activex,clipbrd;

procedure TForm1.Button1Click(Sender: TObject);
var
  FE:TFormatEtc;
  Medium: TStgMedium;
  FileName:String;
  dropfiles:PDropFiles;
  pFile:PChar;
begin
  FileName:='c:\1.bmp';
  FE.cfFormat := CF_HDROP;
  FE.dwAspect := DVASPECT_CONTENT;
  FE.tymed := TYMED_HGLOBAL;
  Medium.hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_ZEROINIT, SizeOf(TDropFiles)+length(FileName)+1);
  if Medium.hGlobal<>0 then begin
    Medium.tymed := TYMED_HGLOBAL;
    dropfiles := GlobalLock(Medium.hGlobal);
    try
      dropfiles^.pfiles := SizeOf(TDropFiles);
      dropfiles^.fwide := False;
      longint(pFile) := longint(dropfiles)+SizeOf(TDropFiles);
      StrPCopy(pFile,FileName);
      Inc(pFile, Length(FileName)+1);
      pFile^ := #0;
    finally
      GlobalUnlock(Medium.hGlobal);
    end;
    Clipboard.SetAsHandle(CF_HDROP,Medium.hGlobal);
  end;
end;
  评论这张
 
阅读(1428)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017