从我想要删除文件夹的应用程序。问题是该文件夹还包含该应用程序。因此,只要应用程序正在运行,文件夹就会被锁定。如何删除该文件夹?
首先想到的是在'Temp'中复制该应用程序并从那里运行它。这样它就会释放文件夹。虽然不是一个非常优雅的解决方案......
操作系统是Win7,但它应该适用于从Win2K到Win 8的所有操作系统。 目标是让应用程序自行卸载(清理其文件夹,然后自行删除)。
有人建议如果我在我的应用程序中执行此操作,它将起作用。它没有。
SetCurrentDir(SomeOtherFolder);
答案 0 :(得分:2)
在Windows上,可执行文件在进程执行时被锁定,无法删除文件。因此,您需要等到进程停止执行才能删除可执行文件。
在我看来有两种选择是可行的: