【发布时间】:2008-10-18 19:17:33
【问题描述】:
如何以编程方式强制删除被操作系统或任何其他 C/C++ 程序锁定的文件?功能应该类似于http://ccollomb.free.fr/unlocker的“Unlocker”软件。
【问题讨论】:
如何以编程方式强制删除被操作系统或任何其他 C/C++ 程序锁定的文件?功能应该类似于http://ccollomb.free.fr/unlocker的“Unlocker”软件。
【问题讨论】:
看this 示例。
【讨论】:
如果您使用的是 Win32,官方的做法是将其标记为在重新启动时删除,并要求用户重新启动。要在重新启动时标记要删除的文件,请使用带有 MOVEFILE_DELAY_UNTIL_REBOOT 标志的 MoveFileEx(将 NULL 作为目标传递)。
【讨论】:
这实际上取决于底层文件系统。
例如,在 Linux 上,ext3 支持不属于标准 unix 读/写/执行/用户/组/世界范式的文件属性。
There is a nice summary of the available attributes here:
我第一次遇到时真的让我发疯了,即使是 root,甚至在关闭 bottable CD 后,我仍然无法从硬盘驱动器中删除文件......顺便说一句,创造性使用的可能性这个恶作剧几乎是无穷无尽的...... :)
【讨论】: