C#判断文件是复制还是剪切

来源:互联网 发布:网络信息安全资质 编辑:程序博客网 时间:2024/06/06 03:42

拿到这个问题的时候按国际惯例是全搜一遍
谷歌、百度、有道无道结果还没有找到。
那这就的自己动手丰衣足食了。。。
先分析一下复制和剪切在剪贴板中有什么不同
还好以前做了一个剪贴板分析器

发现有一个叫“Preferred DropEffect”的数据
平时做拖拽方法的时候见过,有Move和Copy等区别
分析其数值:



是有变化!

根据“Preferred DropEffect”再次搜索,答案揭晓:

private void button1_Click(object sender, EventArgs e){    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 = "复制";}
0 0
原创粉丝点击