如何判断用户对文件是剪切还是复制?

工作需要,模拟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);

判断用户在文件夹中是复制还是剪切

 

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 
=   " 复制 " ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值