如何判断用户对文件是剪切还是复制?
来源:互联网 发布:2016中国出口数据 编辑:程序博客网 时间:2024/05/21 07:59
工作需要,模拟windows文件操作,要对剪贴板数据操作,在exe中模拟右键的文件复制,剪切,粘贴。网上完全没有找到类似的东西得到zswang的帮助,完成这个功能。
模拟文件剪切:
DataObject cDataObject = new DataObject();
cDataObject.SetData(DataFormats.FileDrop, strFiles);//strFiles
为文件路径的string[]
MemoryStream cMemoryStream = new MemoryStream();
cMemoryStream.WriteByte((byte)DragDropEffects.Move);
cMemoryStream.WriteByte(0);
cMemoryStream.WriteByte(0);
cMemoryStream.WriteByte(0);
cMemoryStream.Position = 0;
cDataObject.SetData("Preferred DropEffect", cMemoryStream);
Clipboard.SetDataObject(cDataObject);
cDataObject.SetData(DataFormats.FileDrop, strFiles);//strFiles
为文件路径的string[]
MemoryStream cMemoryStream = new MemoryStream();
cMemoryStream.WriteByte((byte)DragDropEffects.Move);
cMemoryStream.WriteByte(0);
cMemoryStream.WriteByte(0);
cMemoryStream.WriteByte(0);
cMemoryStream.Position = 0;
cDataObject.SetData("Preferred DropEffect", cMemoryStream);
Clipboard.SetDataObject(cDataObject);
判断用户在文件夹中是复制还是剪切
IDataObject vDataObject = Clipboard.GetDataObject();
if (!vDataObject.GetDataPresent(DataFormats.FileDrop)) return;
MemoryStream vMemoryStream = (MemoryStream)vDataObject.GetData(
"Preferred DropEffect", true);
DragDropEffects vDragDropEffects = (DragDropEffects)vMemoryStream.ReadByte();
if ((vDragDropEffects & DragDropEffects.Move) == DragDropEffects.Move)
Text = "剪切";
else if ((vDragDropEffects & DragDropEffects.Copy) == DragDropEffects.Copy)
Text = "复制";
if (!vDataObject.GetDataPresent(DataFormats.FileDrop)) return;
MemoryStream vMemoryStream = (MemoryStream)vDataObject.GetData(
"Preferred DropEffect", true);
DragDropEffects vDragDropEffects = (DragDropEffects)vMemoryStream.ReadByte();
if ((vDragDropEffects & DragDropEffects.Move) == DragDropEffects.Move)
Text = "剪切";
else if ((vDragDropEffects & DragDropEffects.Copy) == DragDropEffects.Copy)
Text = "复制";
- 如何判断用户对文件是剪切还是复制?
- 判断文件是复制还是剪切
- C#判断文件是复制还是剪切
- 如何判断剪贴板是复制还是剪切的?
- 如何判断文件是文本还是二进制
- linux如何判断是文件还是目录
- 如何判断一个用户是关闭、还是刷新网页
- 如何判断用户是拒绝还是允许通讯录权限?
- AAuto_如何快速判断文件是二进制文件还是文本文件
- 复制 剪切 删除 文件
- java对文件新建,删除,复制,剪切,重命名
- qt4:如何判断用户在关闭窗口是选择的是ok还是cancle
- 判断用户的是iPhone还是iPad
- 关于如何判断当前用户对文件有无写权限
- 如何判断用户是用Modem还是经过路由器上网呢
- c++中如何判断该进程是系统进程,还是用户进程
- 如何判断用户是通过手机浏览还是电脑浏览网站
- 如何判断用户用的是Android手机还是IOS手机
- static_cast、dynamic_cast、reinterpret_cast和const_c
- 3年c/c++开发总结(二):书籍[1]
- java要学的东西
- CString 操作指南
- 5--原型模式(Protype Pattern)
- 如何判断用户对文件是剪切还是复制?
- 编写可靠的 .NET 代码
- 在Visual C++中如何利用UDL文件来建立ADO连接
- windows via c/c++
- [转]Java学习之路:不走弯路,就是捷径
- 3年c/c++开发总结(二):书籍[2]
- pl/sql----子程序
- windows下用VC6.0和stlport 5.1.4编译log4cplus 1.02
- 6--创建型模式专题总结