SHFileOperation函数
来源:互联网 发布:mac队全灭事件真相 编辑:程序博客网 时间:2024/05/16 08:02
WINSHELLAPI int WINAPI SHFileOperation (LPSHFILEOPSTRUCT lpFIleOp);
函数中参数类型为一个LPSHFILEOPSTRUCT结构,它包含有进行文件操作的各种信息,其具体的结构如下:
Typedef struct _ShFILEOPSTRUCT
{
HWND hWnd; //消息发送的窗口句柄;
UINT wFunc; //操作类型
LPCSTR pFrom; //源文件及路径
LPCSTR pTo; //目标文件及路径
FILEOP_FLAGS fFlags; //操作与确认标志
BOOL fAnyOperationsAborted; //操作选择位
LPVOID hNameMappings; //文件映射
LPCSTR lpszProgressTitle; //文件操作进度窗口标题
}SHFILEOPSTRUCT, FAR * LPSHFILEOPSTRUCT;
在这个结构中,hWnd是指向发送消息的窗口句柄,pFrom与pTo是进行文件操作的源文件名和目标文件名,它包含文件的路径,对应单个文件的路径字符串,或对于多个文件,必须以NULL作为字符串的结尾或文件路径名之间的间隔,否则在程序运行的时候会发生错误。另外,pFrom和pTo都支持通配符*和?,这大大方便了开发人员的使用。例如,源文件或目录有两个,则应是:char pFrom[]="d:\Test1\0d:\Text.txt\0",它表示对要D:盘Test1目录下的所有文件和D:盘上的Text.txt文件进行操作。字符串中的""是C语言中的''的转义符,'\0'则是NULL。wFunc 是结构中的一个非常重要的成员,它代表着函数将要进行的操作类型,它的取值为如下:
·FO_COPY: 拷贝文件pFrom到pTo 的指定位置。
·FO_RENAME: 将pFrom的文件名更名为pTo的文件名。
·FO_MOVE: 将pFrom的文件移动到pTo的地方。
·FO_DELETE: 删除pFrom指定的文件。
使用该函数进行文件拷贝、移动或删除时,如果需要的时间很长,则程序会自动在进行的过程中出现一个无模式的对话框(Windows操作系统提供的文件操作对话框),用来显示执行的进度和执行的时间,以及正在拷贝、移动或删除的文件名,此时结构中的成员lpszProgressTitle显示此对话框的标题。fFlags是在进行文件操作时的过程和状态控制标识。它主要有如下一些标识,也可以是其组合:
·FOF_FILESONLY:执行通配符,只执行文件;
·FOF_ALLOWUNDO:保存UNDO信息,以便在回收站中恢复文件;
·FOF_NOCONFIRMATION:在出现目标文件已存在的时候,如果不设置此项,则它会出现确认是否覆盖的对话框,设置此项则自动确认,进行覆盖,不出现对话框。
·FOF_NOERRORUI:设置此项后,当文件处理过程中出现错误时,不出现错误提示,否则会进行错误提示。
·FOF_RENAMEONCOLLISION:当已存在文件名时,对其进行更换文提示。
·FOF_SILENT:不显示进度对话框。
·FOF_WANTMAPPINGHANDLE:要求SHFileOperation()函数返回正处于操作状态的实际文件列表,文件列表名柄保存在hNameMappings成员中。
·SHFILEOPSTRUCT结构还包含一个SHNAMEMAPPING结构的数组,此数组保存由SHELL计算的每个处于操作状态的文件的新旧路径。
请注意:
LPCSTR pFrom; //源文件及路径
LPCSTR pTo; //目标文件及路径
路径要注意,pFrom可以是多个路径,每个路径后都要加一个'\0'作为结尾。
- SHFileOperation函数
- SHFileOperation函数
- ShFileOperation函数详解
- 系统函数SHFileOperation的用法
- 关于SHFileOperation函数的补充
- SHFileOperation 这个函数的用法
- 建议不再使用SHFileOperation函数
- SHFileOperation函数使用的介绍
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- shfileoperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- GridView 导出数据到excel数据乱码
- 在 Tomcat 中部署 Java Web 程序 ( jar cvf *.war */. ) war 包
- KeyWordHelper-关键字提取类(注:使用第三方组件DictSeg.dll)
- Java 线程池的原理与实现
- android Theme level 11 使用总结
- SHFileOperation函数
- 简述四种关联映射
- How to change the default run level of a RedHat 9.0 or Fedora Core Linux system
- hibernate 的SessionFactory的getCurrentSession 与 openSession() 的区别
- 对于struct file_operations中ioctl消失的学习笔记
- 值类型与引用类型
- Xml CData的使用 获取原始的节点内容
- android Theme使用总结
- .NET 处理Excel 2003+2007格式最佳方案