如何删除运行时某个进程正在使用/打开的文件。 我在我的项目中使用 vb.net,图像显示在图片框中, 并且应该将其删除,而不关闭该文件。
最佳答案
如果文件被另一个进程以独占模式打开,则您不能——Windows 不会允许您这样做。在这种情况下,您能做的最好的事情就是等待其他进程关闭该文件,然后将其删除,或者使用 MoveFileEx()
在下次重新启动时将其删除。带有标志 MOVEFILE_DELAY_UNTIL_REBOOT
和目标位置 NULL
。
如果文件被另一个进程非独占地打开,您只需调用 DeleteFile()
通常(假设您有权这样做)。当其他进程打开该文件时,该文件将保留,但一旦其他进程关闭它,该文件就会被删除。
(是的,我意识到这些链接是针对 Win32 C API 的;相同的功能应该在 VB .NET 下可用)
关于windows - 删除运行时正在使用的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301174/