CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

有关文件复制和剪贴板的关系的问题

楼主gaoys1979(虫洞)2002-04-22 16:19:48 在 Delphi / VCL组件开发及应用 提问

在资源管理器中进行了“复制”或者“剪切”的操作,然后到Delphi6的ShellListView窗口中粘贴操作,不知道该如何进行?如果不是ShellListView而只是一个普通的程序又该如何操作?一句话,Windows的文件复制剪切操作是如何进行的?请教各位高手!!!在大富翁论坛里面搜索得知和剪贴板没有太大关系,不知哪位能够提供详细信息!多谢! 问题点数:100、回复次数:13Top

1 楼gaoys1979(虫洞)回复于 2002-04-22 17:15:06 得分 0

哪位来提个意见,这里刷新太快,两秒钟就到后面去了!呜呜~~~~~~~Top

2 楼jishiping(JSP 季世平)回复于 2002-04-22 18:14:02 得分 10

先帮你   up   .Top

3 楼Carfield(一只特别懒的猫)回复于 2002-04-22 18:33:58 得分 10

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

4 楼hch_d(城城)回复于 2002-04-22 18:43:39 得分 10

D6的B盘里面有这种例子Top

5 楼gaoys1979(虫洞)回复于 2002-04-22 19:57:56 得分 0

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

6 楼gaoys1979(虫洞)回复于 2002-04-22 19:59:26 得分 0

还有一点请各位注意:  
  我要求的功能还希望能够和资源管理器兼容,也就是在自己的程序中复制一个文件,在资源管理器里面也可以粘贴!Top

7 楼gaoys1979(虫洞)回复于 2002-04-23 15:00:39 得分 0

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

8 楼dreamfan(改行不做程序员,回家种地。)回复于 2002-04-23 15:15:37 得分 10

利用剪贴板好像实现更简单!在资源管理器里面也可以粘贴!  
  Top

9 楼gaoys1979(虫洞)回复于 2002-04-23 20:36:15 得分 0

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

10 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2002-04-23 20:56:58 得分 0

等下班给你代码Top

11 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2002-04-23 21:00:38 得分 50

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;Top

12 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2002-04-23 21:01:30 得分 10

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

13 楼gaoys1979(虫洞)回复于 2002-04-25 19:31:40 得分 0

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

相关问题

  • 怎样从剪贴板里获取ctrl + c复制的文件的路径
  • 请问:怎样把一个文件复制或剪切到剪贴板上,然后把它粘贴到当前的位置?请指教,谢谢!
  • 把一个字符串复制到剪贴板?
  • 怎样把一个字符串复制到剪贴板?
  • 如何使用剪贴板复制并粘贴呢?
  • 如何复制多种格式的数据到剪贴板?
  • c++如何实现复制到剪贴板?
  • 怎么将数据复制到剪贴板???
  • 在页面上如何实现复制内容到剪贴板?
  • 关于剪贴板(对象的复制、粘贴,而非String的复制、粘贴)

关键词

  • 文件
  • 剪切
  • 剪贴板
  • hgbl
  • hf
  • pget
  • 复制
  • xs
  • 粘贴
  • sfile

得分解答快速导航

  • 帖主:gaoys1979
  • jishiping
  • Carfield
  • hch_d
  • dreamfan
  • TechnoFantasy
  • TechnoFantasy

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo