windows - 删除运行时正在使用的文件

标签 windows file

如何删除运行时某个进程正在使用/打开的文件。 我在我的项目中使用 vb.net,图像显示在图片框中, 并且应该将其删除,而不关闭该文件。

最佳答案

如果文件被另一个进程以独占模式打开,则您不能——Windows 不会允许您这样做。在这种情况下,您能做的最好的事情就是等待其他进程关闭该文件,然后将其删除,或者使用 MoveFileEx() 在下次重新启动时将其删除。带有标志 MOVEFILE_DELAY_UNTIL_REBOOT 和目标位置 NULL

如果文件被另一个进程非独占地打开,您只需调用 DeleteFile()通常(假设您有权这样做)。当其他进程打开该文件时,该文件将保留,但一旦其他进程关闭它,该文件就会被删除。

(是的,我意识到这些链接是针对 Win32 C API 的;相同的功能应该在 VB .NET 下可用)

关于windows - 删除运行时正在使用的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/301174/

相关文章:

python - 读取一个巨大的 .csv 文件

c - 如何比较C中文本的字符?

c# - 如何知道用户账号是否存在

c++ - 创建一个没什么特别的 SOCKS 代理

.net - 现在我的本地主机运行速度很慢,因为我在 Windows 7 和 Asp.net MVC 上

c - 当此程序在 Windows 上运行时,为什么会出现回车符?

java - 如何检查特定文件夹或文件是否与 java 程序共享?

c++ - 有什么方法可以通过在 C++ 中读取文件来构造函数指针

c - c (libzmq) 中的 Zeromq pub/sub 示例带有工作过滤器(在 Windows 上)?

android - 在 ListView 中显示文件列表