如何使用C/C++编程强制删除被操作系统或其他程序锁定的文件?该功能应类似于软件“Unlocker”,位于http://ccollomb.free.fr/unlocker。
如何使用C/C++编程强制删除被操作系统或其他程序锁定的文件?该功能应类似于软件“Unlocker”,位于http://ccollomb.free.fr/unlocker。
如果您使用的是Win32系统,官方的做法是将文件标记为在重启时删除,并要求用户重新启动计算机。使用MoveFileEx函数并传入MOVEFILE_DELAY_UNTIL_REBOOT标志(目标路径设为NULL)即可将文件标记为在重启时删除。
这实际上取决于底层文件系统。
例如,在Linux上,ext3支持不属于标准Unix读/写/执行/用户/组/全局范例的文件属性。
第一次遇到时真的让我疯狂,即使作为root用户,甚至在从可启动CD重新启动后,我仍然无法从硬盘驱动器中删除文件...顺便说一下,这对于恶作剧的创意使用几乎是无限的... :)