谁做过这样的功能

xiaoli2200 2009-07-22 08:39:18
有个DLEHPI开发的工具,它的文件剪切功能怎么实现的哦,就是在软件里点一下剪切,在用WIONDWS的粘贴就可以了

而我只能做复制过程,不能象它一样利用WINDOWS来操作一样可以把源文件删除掉

文件剪切怎么实现啊,下面是我复制文件的过程,怎么改成剪切呢?
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('没有找到');
begin
DropFiles := GlobalLock(hGlobal);
DropFiles^.pFiles := SizeOf(TDropFiles);
Move(FileList[1], (PChar(DropFiles) + SizeOf(TDropFiles))^, iLen);

GlobalUnlock(hGlobal);
Clipboard.SetAsHandle(CF_HDROP, hGlobal);
end;
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoli2200 2009-07-22
  • 打赏
  • 举报
回复
谢谢大家,我知道了,原来'Preferred DropEffect'
注册一个这样的类型,通过
DropEffect来判断
有5种取值,1是COPY2是MOVE,原来就是这样的啊,谢谢DE410给的例子。
shuaialang 2009-07-22
  • 打赏
  • 举报
回复
剪切就是改名。。。。
RenameFile c盘的ii.exe D盘的ii.exe
贝隆 2009-07-22
  • 打赏
  • 举报
回复
关注
xiaoli2200 2009-07-22
  • 打赏
  • 举报
回复
问题是操作是由系统完成的,系统的粘贴一完成这个文件被删除了
de410 2009-07-22
  • 打赏
  • 举报
回复
加一个检测复制是否成功,成功则删除原文件~~我想的一个思路

另给一个他人的例子
http://topic.csdn.net/t/20060325/10/4639088.html

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧