本帖最后由 pronet 于 2011-01-26 23:02:24 编辑

解决方案 »

  1.   

    好像是这样的 忘了xxx.CutToClipboard
    xxx.CopyToClipboard
    xxx.PasteFromClipboard
      

  2.   

    看看TClipboard类吧,在Clipbrd单元里。
      

  3.   

    能给个复制粘贴的例子么?
    我这找到一个复制的例子procedure CutOrCopyFiles(pFileList:Pchar;ListStrLen:integer;bCopy:Boolean);
    type
      PDropFiles   =   ^TDropFiles;
      TDropFiles   =   record
      pFiles:   DWORD;
      pt:   TPoint;
      fNC:   BOOL;
      fWide:   BOOL;
    end;
    const DROPEFFECT_COPY = 1; DROPEFFECT_MOVE = 2;
    var hGblFileList: HGLOBAL; pFileListDate:Pbyte; HandleDropEffect: UINT;
        hGblDropEffect: HGLOBAL; pdwDropEffect: PDWORD;
    begin
      hGblFileList := GlobalAlloc(GMEM_ZEROINIT or GMEM_MOVEABLE or GMEM_SHARE, ListStrLen+Sizeof(TDropFiles));
      pFileListDate   :=   GlobalLock(hGblFileList);
      PDropFiles(pFileListDate)^.pFiles:=Sizeof(TDropFiles);
      PDropFiles(pFileListDate)^.pt.Y:=0;
      PDropFiles(pFileListDate)^.pt.X:=0;
      PDropFiles(pFileListDate)^.fNC:=False;
      PDropFiles(pFileListDate)^.fWide:=False;
      inc(pFileListDate,Sizeof(TDropFiles));   //Ö¸ÕëºóÒÆ
      CopyMemory(pFileListDate,pFileList,ListStrLen);
      GlobalUnlock(hGblFileList);
      HandleDropEffect := RegisterClipboardFormat('Preferred DropEffect ');
      hGblDropEffect   :=   GlobalAlloc(GMEM_ZEROINIT   or   GMEM_MOVEABLE   or     GMEM_SHARE,   sizeof(DWORD));
      pdwDropEffect   :=   GlobalLock(hGblDropEffect);
      if(bCopy)   then
        pdwDropEffect^   :=   DROPEFFECT_COPY
      else
        pdwDropEffect^   :=   DROPEFFECT_MOVE;
      GlobalUnlock(hGblDropEffect);
      if OpenClipboard(0) then
      begin
        EmptyClipboard();
        SetClipboardData(HandleDropEffect,hGblDropEffect);
        SetClipboardData(CF_HDROP,hGblFileList);
        CloseClipboard();
      end ;
      else
        showmessage( 'ÎÞ·¨´ò¿ª,¿ÉÄܱ»±ðµÄ³ÌÐòÕ¼Óà');
    end;但是粘贴代码找不到,不过知道是用GetClipboardData。
    希望高手给一段代码 谢谢了。
    另:这段代码执行后感觉和资源管理器里复制不太一样(在同一个文件夹下不能粘贴成副本)。跪求一段粘贴代码
      

  4.   

    有两个解决思路给楼主参考:1、用模拟键盘实现,用Keybd_event函数模拟ctrl+c和ctrl+v来复制粘贴。2、用dos命令来copy文件。
      

  5.   

    模拟键盘是不可能的,因为程序执行后不能能打开资源管理器再模拟键盘鼠标。而且你写的模拟方法只限制于本程序。, 
    拷贝文件也是不可以的。程序要求用复制粘贴的方法 ,拷贝文件太简单了吧,不用再这里来问了上面贴出来的函数是利用 SetClipboardData 将文件放入剪贴板谁会写 用 GetClipboardData 从剪贴板取出文件的啊?高手们来试一试吧
      

  6.   

    猪啊, 试一试就行了,Clipbrd.astext