【问题标题】:How can I force the deletion of locked files in C/C++?如何强制删除 C/C++ 中的锁定文件?
【发布时间】:2008-10-18 19:17:33
【问题描述】:

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

【问题讨论】:

标签: c++ c


【解决方案1】:

this 示例。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    【解决方案3】:

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

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

    There is a nice summary of the available attributes here:

    我第一次遇到时真的让我发疯了,即使是 root,甚至在关闭 bottable CD 后,我仍然无法从硬盘驱动器中删除文件......顺便说一句,创造性使用的可能性这个恶作剧几乎是无穷无尽的...... :)

    【讨论】:

    • 这与属性无关。它关于使用锁定文件的正在运行的进程。唯一的办法就是杀死进程
    猜你喜欢
    • 2011-01-14
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多