包含SHFileOperation功能用于执行文件操作的信息。
typedef struct _SHFILEOPSTRUCT { Handle of the dialog box to use to display information about the status of the operation.
HWND hwnd;
UINT wFunc;
LPCSTR pFrom;
LPCSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
LPVOID hNameMappings;
LPCSTR lpszProgressTitle;
} SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT;
会员
HWND
处理对话框以显示有关操作状态的信息。
wFunc
操作执行。该成员可以是以下值之一:
FO_COPY | 将pFrom中指定的文件复制到PTO指定的位置。 |
FO_DELETE | 删除pFrom中(PTO被忽略)指定的文件。 |
FO_MOVE | 将pFrom中指定的文件移动到PTO指定的位置。 |
FO_RENAME | 重命名由pFrom中指定的文件。 |
pFrom中
指向指定一个或多个源文件名的缓冲区的指针。多个名称必须为空分隔。名称列表必须是双null终止。
PTO
指向包含目标文件或目录名称的缓冲区。如果FFLAGS成员指定FOF_MULTIDESTFILES,缓冲区可以包含多个目标文件名。多个名称必须为空分隔。名称列表必须是双null终止。
FFLAGS
控制文件操作的标志。该成员可以是以下值的组合:
FOF_ALLOWUNDO | 如果可能,保留撤消信息。 |
FOF_CONFIRMMOUSE | 未实现。 |
FOF_FILESONLY | 如果指定了通配符文件名(*。*),则仅对文件执行操作。 |
FOF_MULTIDESTFILES | 表示PTO成员指定多个目标文件(每个源文件一个),而不是一个要存储所有源文件的目录。 |
FOF_NOCONFIRMATION | 对所显示的任何对话框响应“是全部”。 |
FOF_NOCONFIRMMKDIR | 如果操作需要创建新目录,则不会确认该目录的创建。 |
FOF_RENAMEONCOLLISION | 如果目标名称的文件已经存在,则以移动,复制或重命名操作的方式,以新??名称(例如“Copy#1 of ...”)运行文件。 |
FOF_SILENT | 不显示进度对话框。 |
FOF_SIMPLEPROGRESS | 显示进度对话框,但不显示文件名。 |
FOF_WANTMAPPINGHANDLE | 填写hNameMappings成员。必须使用SHFreeNameMappings函数来释放句柄。 |
fAnyOperationsAborted
如果用户在完成任何文件操作之前中止了任何文件操作,否则返回FALSE,则返回TRUE。
hNameMappings
处理包含SHNAMEMAPPING结构数组的文件名映射对象。每个结构都包含已被移动,复制或重命名的每个文件的旧路径名和新路径名。仅当FFLAGS包含FOF_WANTMAPPINGHANDLE时,才使用此成员。
lpszProgressTitle
指向要用作进度对话框标题的字符串。只有FFLAGS包含FOF_SIMPLEPROGRESS才会使用此成员。
备注
如果pFrom中或PTO是不合格的名称,则当前目录取自GetCurrentDirectory和SetCurrentDirectory功能管理的全局当前驱动器和目录设置。
也可以看看
GetCurrentDirectory, SetCurrentDirectory, SHFileOperation, SHFreeNameMappings, SHNAMEMAPPING