这两个功能有什么区别?
答案 0 :(得分:1)
DeleteFile
是一个低级函数,仅删除Windows支持的文件系统和文件共享上的文件。
IFileOperation::DeleteItem
删除shell namespace中的项目。
SFGAO_CANDELETE
的任何其他内容。如果传递给DeleteItem的IShellItem
是普通文件系统上的文件,则DeleteFile
最终将用于删除该文件。
自Windows 95(IShellFolder
和朋友)以来,shell命名空间模型已存在,但IFileOperation仅存在于Vista及更高版本中,并且是添加到这些系统的新shell复制引擎的一部分。
答案 1 :(得分:0)
DeleteFile是WinAPI的较旧组件,通常在旧系统中更受支持。
IFileOperation :: DeleteItem是一种较新的方法(可能调用DeleteFile下游),用于与标准WinAPI不同的API生态系统集成。
与DeleteFile(更像是“原子”操作)相比,IFileOperation基础具有更大的灵活性和面向对象的设计。在删除文件方面,它们在行为上基本相同。
答案 2 :(得分:0)
IFileOperation :: DeleteItem允许您提供有关操作的反馈和进度。虽然DeleteFile没有提供反馈,只是操作的结果。