SHFileOperation的用法

文件操作SHFileOperation的用法


在Windows的shellapi文件中定义了一个名为SHFileOperation()的外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,该函数使用起来非常简单,它只有一个指向SHFILEOPSTRUCT结构的参数。使用SHFileOperation()函数时只要填写该专用结构–SHFILEOPSTRUCT,告诉Windows执行什么样的操作,以及其它重要信息就行了。SHFileOperation()的特别之处在于它是一个高级外壳函数,不同于低级文件处理。当调用SHFileOperation操作文件时,相应的外壳拷贝处理器(如果有的话)被调用。如在删除某个文件时,SHFileOperation会将删除的文件放到Recycle Bin中。SHFileOperation()函数的原形为

WINSHELLAPI int WINAPI SHFileOperation (LPSHFILEOPSTRUCT lpFIleOp);

  1. 文件删除

    bool DeleteFile(char * lpszPath) 
    { 
        SHFILEOPSTRUCT FileOp={0}; 
        FileOp.fFlags = FOF_ALLOWUNDO |   //允许放回回收站
        FOF_NOCONFIRMATION; //不出现确认对话框
        FileOp.pFrom = lpszPath; 
        FileOp.pTo = NULL;  //一定要是NULL
        FileOp.wFunc = FO_DELETE;//删除操作
        return SHFileOperation(&FileOp) == 0; 
    }

2.. 复制文件或文件夹



    bool CopyFile(char *pTo,char *pFrom)
    {
    SHFILEOPSTRUCT FileOp={0}; 
    FileOp.fFlags = FOF_NOCONFIRMATION|   //不出现确认对话框
      FOF_NOCONFIRMMKDIR ; //需要时直接创建一个文件夹,不需用户确定
    FileOp.pFrom = pFrom; 
    FileOp.pTo = pTo; 
    FileOp.wFunc = FO_COPY; 
    return SHFileOperation(&FileOp) == 0; 
    }

3.. 移动文件或文件夹

bool MoveFile(char *pTo,char *pFrom)
{
SHFILEOPSTRUCT FileOp={0}; 
FileOp.fFlags = FOF_NOCONFIRMATION|   //不出现确认对话框 
  FOF_NOCONFIRMMKDIR ; //需要时直接创建一个文件夹,不需用户确定
FileOp.pFrom = pFrom; 
FileOp.pTo = pTo; 
FileOp.wFunc = FO_MOVE; 
return SHFileOperation(&FileOp) == 0;   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值