看一下Delphi自带的Demo,好像有此类的应用

解决方案 »

  1.   

    哦,我先看看,同时再UPUP,努力~~~~~~~~~~~~
      

  2.   

    啊?难道没有人知道?这可是100大元啊!我看到在AcdSee里面是可以实现这个功能的,因此办法肯定是有的。就是不知道要怎么做,唉!
      

  3.   

    dreamfan(dreamfan) 兄:剪贴板实现?那么资源管理器进行了文件复制或者剪切操作以后剪贴板的格式是什么呢?
      

  4.   

    function CopyFileToClp(sFile:string;bCopy:boolean):integer;
    {
    功能    将文件拷贝到剪贴板
    参数    sFile   拷贝文件名,多个文件需要以chr(0)分割
            bCopy   没有用到
    }
    var
      hf:DROPFILES;
      xs:string;
      hGbl:UInt;
      i:integer;
      pGet:Pointer;
    begin
      xs:=sFile + chr(0);;  openclipboard(0);
      EmptyClipboard;  try
        hf.pt := Point(0,0);
        hf.fNC := false;
        hf.fWide := false;
        hf.pFiles := sizeof(hf);    hGbl:=GlobalAlloc(GHND{GMEM_ZEROINIT or GMEM_MOVEABLE},
            (sizeof(hf)+Length(xs)));
        pGet:=Globallock(hGbl);    if assigned(pGet)then
        begin
          copymemory(Pointer(Integer(pGet)),@hf,sizeof(hf));            //sizeof(DROPFILES)
          copymemory(Pointer(integer(pGet)+sizeof(hf)),Pointer(xs),length(xs));
          GlobalUnlock(hGbl);
          SetClipboardData(CF_HDROP,hGbl);
        end;
      finally
        closeClipboard;
      end;
    end;
      

  5.   

    上面的代码需要引用:
    shlobj,clipbrd,
      

  6.   

    问题已经解决了。最主要的是根据technofantasy(www.applevb.com)同志的函数,所以分分了。