来自 SHFileOperation() 的 return 代码的解释

Explanation of return code from SHFileOperation()

全部,

SHFileOperation() returns 32 是有原因的吗?

我的场景是:

我当前的路径是c:\foo\bar。 我的文件在 c:\foo 该文件将进入回收站。

此代码未在 here 中列为可能的 return 值,我不知道在哪里可以找到原因。

我正在 Windows 7 64 位 MSVC 2010 Professional 上试用。

有人可以解释一下我在哪里可以找到 returned 值文档或对失败原因的一些解释。

TIA!

我正在尝试自己查找代码列表!

来自我的测试(所以验证你自己) 32 = 文件正在使用或可能是文件 locked/protected。 (创建了一个 excel wkbk,打开,输入文本,试图删除)

2 = 未找到 0 = 没有问题

4、8、16 return 代码似乎很可能

SHFileOperation returns 错误,与 Winerror.h 错误值匹配。 32 定义为ERROR_SHARING_VIOLATION,意思是"The process cannot access the file because it is being used by another process." 这意味着另一个进程通过调用SHFileOperation 访问了你要更改的文件。 您不妨使用 Process Explorer 的查找功能来找出哪个进程访问了您要更改的文件。