IFileOperation::SetOperationFlags 方法 (shobjidl_core.h)
设置当前操作的参数。
语法
HRESULT SetOperationFlags(
[in] DWORD dwOperationFlags
);
参数
[in] dwOperationFlags
类型:DWORD
控制文件操作的标志。 此成员可以是以下标志的组合。 FOF 标志在 Shellapi.h 中定义,FOFX 标志在 Shobjidl.h 中定义。
FOF_ALLOWUNDO (0x0040)
如果可能,请保留撤消信息。
在 Windows Vista 之前,只能从执行原始操作的同一进程中撤消操作。
在 Windows Vista 及更高版本中,撤消的范围是用户会话。 在用户会话中运行的任何进程都可以撤消另一个操作。 撤消状态保留在 Explorer.exe 进程中,只要该进程正在运行,它就可以协调撤消函数。
如果源文件参数不包含完全限定的路径和文件名,则忽略此标志。
FOF_FILESONLY (0x0080)
如果指定了通配符文件名 (,则仅对文件 (不在文件夹) ) 上执行操作。
FOF_NOCONFIRMATION (0x0010)
对于显示的任何对话框,以 “是”对“全部 ”做出响应。
FOF_NOCONFIRMMKDIR (0x0200)
如果操作要求创建新文件夹,请不要确认创建新文件夹。
FOF_NO_CONNECTED_ELEMENTS (0x2000)
不要将连接的项作为组移动。 仅移动指定的文件。
FOF_NOCOPYSECURITYATTRIBS (0x0800)
请勿复制项的安全属性。
FOF_NOERRORUI (0x0400)
如果发生错误,请不要向用户显示消息。 如果在未FOFX_EARLYFAILURE的情况下设置此标志,则会将任何错误视为用户在对话框中选择了 “忽略 ”或“ 继续 ”。 它会停止当前操作,设置一个标志以指示某个操作已中止,并继续执行操作的其余部分。
FOF_NORECURSION (0x1000)
仅在本地文件夹中操作。 不要以递归方式操作到子目录中。
FOF_RENAMEONCOLLISION (0x0008)
如果已存在具有目标名称的项,请在移动、复制或重命名操作中为正在操作的项提供新名称。
FOF_SILENT (0x0004)
不显示进度对话框。
FOF_WANTNUKEWARNING (0x4000)
如果在删除操作期间销毁而不是回收文件或文件夹,则发送警告。 此标志部分替代 FOF_NOCONFIRMATION。
FOFX_ADDUNDORECORD (0x20000000)
在 Windows 8 中引入。 文件操作由用户调用,应放置在撤消堆栈上。 此标志优先于FOF_ALLOWUNDO。
FOFX_NOSKIPJUNCTIONS (0x00010000)
了解 Shell 命名空间交接点。 默认情况下,不输入交接点。 有关交接点的详细信息,请参阅 指定命名空间扩展的位置。
FOFX_PREFERHARDLINK (0x00020000)
如果可能,请在目标中创建硬链接,而不是文件的新实例。
FOFX_SHOWELEVATIONPROMPT (0x00040000)
如果操作需要提升的权限,并且FOF_NOERRORUI标志设置为禁用错误 UI,则仍会显示 UAC UI 提示。
FOFX_EARLYFAILURE (0x00100000)
如果FOFX_EARLYFAILURE与 FOF_NOERRORUI 一起设置,则在任何操作中遇到任何错误时,将停止整个操作集。 仅当设置了FOF_NOERRORUI时,此标志才有效。
FOFX_PRESERVEFILEEXTENSIONS (0x00200000)
重命名冲突的方式是保留文件扩展名。 仅当同时设置了FOF_RENAMEONCOLLISION时,此标志才有效。
FOFX_KEEPNEWERFILE (0x00400000)
如果发生冲突,请根据 Date Modified 属性保留较新的文件或文件夹。 此操作会自动完成,不会向用户显示提示 UI。
FOFX_NOCOPYHOOKS (0x00800000)
请勿使用复制挂钩。
FOFX_NOMINIMIZEBOX (0x01000000)
不允许最小化进度对话框。
FOFX_MOVEACLSACROSSVOLUMES (0x02000000)
执行跨卷移动操作时,将源项的安全属性复制到目标项。 如果没有此标志,目标项将接收其新文件夹的安全属性。
FOFX_DONTDISPLAYSOURCEPATH (0x04000000)
不要在进度对话框中显示源项的路径。
FOFX_DONTDISPLAYDESTPATH (0x08000000)
不要在进度对话框中显示目标项的路径。
FOFX_RECYCLEONDELETE (0x00080000)
在 Windows 8 中引入。 删除文件时,将其发送到回收站,而不是永久删除它。
FOFX_REQUIREELEVATION (0x10000000)
在 Windows Vista SP1 中引入。 用户需要权限提升要求,因此不要显示要求确认提升权限的对话框。
FOFX_COPYASDOWNLOAD (0x40000000)
在 Windows 7 中引入。 在进度对话框中显示 “正在下载 ”而不是 “复制 ”消息。
FOFX_DONTDISPLAYLOCATIONS (0x80000000)
在 Windows 7 中引入。 不要在进度对话框中显示位置行。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
在调用 IFileOperation::P erformOperations 之前设置这些标志,以便为正在执行的任何操作(如复制、删除或重命名)定义参数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista、Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |