SHFileOperation函数使用的介绍
来源:互联网 发布:淘宝上买火车票靠谱吗 编辑:程序博客网 时间:2024/05/22 12:33
今天看到一个关于SHFileOperation函数使用的介绍,发现下面一些有用的资料,都是些之前未仔细了解的方面,这里把他们记录下来,留待以后查阅参考。
fFlags成员标志间的关系
标志
抑制的对话框
相关性与优先级
FOF_MULTIDESTFILES
无
无
FOF_FILESONLY
无
无
FOF_SILENT
如果设置,进度对话框不显示。
优先于FOF_SIMPLEPROGRESS标志。
FOF_SIMPLEPROGRESS
无
为FOF_SILENT标志所抑制。
FOF_RENAMEONCOLLISION
如果设置了这个标志,当被移动或拷贝的文件与已存在文件同名时置换对话框不会出现。
名字冲突时,如果FOF_NOCONFIRMATION标志设置,则操作继续。
如果二者都设置了,则它优先于FOF_NOCONFIRMATION。即,文件以给定的新名字复制,而不是覆盖。
FOF_NOCONFIRMATION
如果设置,确认对话框在任何情况下都不出现。
名字冲突时,引起文件覆盖,除非设置了FOF_RENAMEONCOLLISION标志。
FOF_NOCONFIRMMKDIR
抑制请求建立新文件夹的对话框
缺省目录作为严重错误产生一个错误消息框。
建立目录的确认对话框作为错误消息框是否显示依赖于FOF_NOERRORUI的设置。
FOF_NOERRORUI
抑制所有错误消息框。
优先于前一个标志。如果设置,则,缺省目录引起不被处理的异常,并且返回错误码。
删除文件
文件删除是一个简单的操作,它仅仅影响到输入缓冲pFrom,而pTo缓冲被忽略。与文件复制一样,操作的详细情况依赖于标志的设置。相关的标志是:
标志
值
描述
FOF_SILENT
0×0004
这个操作不回馈给用户,就是说,不显示进度对话框。相关的消息框仍然显示。
FOF_NOCONFIRMATION
0×0010
这个标志使函数对任何遇到的消息框都自动回答Yes。
FOF_ALLOWUNDO
0×0040
如果设置,这个标志强迫函数移动被删除的文件到‘回收站’中。否则,文件将被物理地从磁盘上删除。
FOF_FILESONLY
0×0080
设置这个标志导致函数仅仅删除文件,跳过目录项。它仅仅应用于指定通配符的情况。
FOF_SIMPLEPROGRESS
0×0100
这导致简化用户界面。使之只有动画而不报告被删除的文件名。代之的是显示lpszProgressTitle成员中指定的文字。(Win7实际中貌似不可用)
FOF_NOERRORUI
0×0400
如果设置了这个标志,任何发生的错误都不能使消息框显示,而是程序中返回错误码。
这里出现的标志最要紧的是FOF_ALLOWUNDO,它决定文件是否一次就全部删除,或存储到‘回收站’中等候可能的恢复。如果FOF_ALLOWUNDO被设置,文件则被移动到回收站,并且这个操作可以被Undo(尽管可以手动Undo)。Undo特征仅在删除下可用,在拷贝与移动中没有等价的操作。
SHFileOperation()函数的返回值
MSDN资料中说明,SHFileOperation()在成功时返回0,失败时返回非0值。显然这是真的,但并不是最有用的解释。重复测试这个函数,可以确信它有非常多的终止方式。事实上,我们经常在系统错误的提示中运行,在有些地方这个函数只是简单地返回从更靠近文件系统的其它程序中获得的返回码。下面列表给出了SHFileOperation()返回的最通常的部分错误。
错误码
描述
2
如果你试图重命名多重文件,这个消息就会出现。描述是相当直接的:系统不能找到指定的文件。
7
在询问是否想要置换给定文件时,你回答了‘取消’,函数就返回这个错误码。它的描述也是相当的不明确—存储控制块被销毁。
115
在试图重命名文件到不同的文件夹时,发生这个文件系统错。重命名文件只是改变文件名,而不能改变文件夹。
117
一个IOCTL错(输入/输出控制),在目的路径中有错误时或取消了新目录的建立时,这个错误发生了。
123
你正在试图重命名一个文件,然而你给出的名字是一个已经存在的文件。它也有一个无用的描述:文件名,目录名,或卷标号的语法是不正确的。
1026
在试图移动或拷贝一个不存在的文件时,出现这个文件系统错。一般地,它提示了,源缓冲中的某些东西应该修改一下。这个错误码弹出一个的错误框,你可以通过设置FOF_NOERRORUI标志抑制它的显示。
- SHFileOperation函数使用的介绍
- SHFileOperation的使用细节
- 建议不再使用SHFileOperation函数
- 系统函数SHFileOperation的用法
- 关于SHFileOperation函数的补充
- SHFileOperation 这个函数的用法
- SHFileOperation函数
- SHFileOperation函数
- NSIS使用SHFileOperation函数移动文件夹
- SHFileOperation使用
- 对SHFileOperation函数的一点研究
- SHFileOperation文件操作的外壳函数
- Shell的文件操作函数SHFileOperation
- 对文件夹的操作SHFileOperation()的使用
- 使用SHFileOperation实现文件的复制,删除
- ShFileOperation函数详解
- 记下教训,关于SHFileOperation的使用,命令行程序的使用
- Shell的文件操作函数SHFileOperation 移动,复制,删除文件
- Linux系统硬盘安装方式
- ibatis与springmvc出现Check the result mapping for the 'xxx' property的错误
- CentOS下top命令介绍与使用
- [Python网络编程] DNS缓存解决方案
- Ubuntu 14.04 中安装 Pepper Flash Player For Chromium
- SHFileOperation函数使用的介绍
- HDU 2870 DP 最大完全子矩阵
- Windows程序设计第三章总结
- POJ 1753 Flip Game(bfs枚举+递推)
- MediaExtractor
- PHP断点续传
- IOS开发NSDateFormatter格式详细列表一览
- Python 抽象工厂方法
- cocos2d-x 截图的方法