如何在C / C ++中强制删除锁定的文件?

如何以编程方式强制删除操作系统或任何其他程序使用C / C ++锁定的文件? 该function应类似于http://ccollomb.free.fr/unlocker上的软件“Unlocker”。

看看这个样本。

如果您使用的是Win32,那么正式的方法是将其标记为在重新启动时删除,并要求用户重新启动。 要在重新引导时标记要删除的文件,请使用带有MOVEFILE_DELAY_UNTIL_REBOOT标志的MoveFileEx(将NULL作为目标)。

这实际上取决于底层文件系统。

例如,在Linux上,ext3支持的文件属性不属于标准的unix读/写/执行/用户/组/世界范例。

这里有一个很好的可用属性摘要:

我第一次遇到真的让我疯狂,甚至以root身份出现,甚至在重新启动可用的CD之后我还是无法删除我的硬盘驱动器上的文件…顺便说一下,创造性地使用这个实用程序的可能性笑话几乎无穷无尽…… 🙂