Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭文件并保持打开状态vb.net?_Vb.net_File_Process_File Management - Fatal编程技术网

关闭文件并保持打开状态vb.net?

关闭文件并保持打开状态vb.net?,vb.net,file,process,file-management,Vb.net,File,Process,File Management,嗨,怎么样了?! 我在寻找一种方法来关闭/解锁/重命名进程正在使用的文件,而不用在vb.net中杀死该进程 示例:我需要更新一些.bpl,当我开始更新时可能会用到它们。为此,我尝试删除或移动该文件(或任何允许我将新的.bpl放入文件夹的内容) 显然,如果该文件正在使用,我会得到一个异常,即拒绝访问该文件,因为该文件正由另一个进程使用。 假设我不能关闭整个进程,有没有办法从vb.net而不是使用Handle.exe来实现它?经过多次尝试后,我意识到windows不允许关闭(或执行任何其他任务)实际

嗨,怎么样了?! 我在寻找一种方法来关闭/解锁/重命名进程正在使用的文件,而不用在vb.net中杀死该进程

示例:我需要更新一些.bpl,当我开始更新时可能会用到它们。为此,我尝试删除或移动该文件(或任何允许我将新的.bpl放入文件夹的内容)

显然,如果该文件正在使用,我会得到一个异常,即拒绝访问该文件,因为该文件正由另一个进程使用。
假设我不能关闭整个进程,有没有办法从vb.net而不是使用Handle.exe来实现它?

经过多次尝试后,我意识到windows不允许关闭(或执行任何其他任务)实际上被另一个进程锁定的文件。突然,我想起了一个困扰services.exe的奇怪行为(比如service_name.exe文件)

我所说的行为涉及重命名文件的机会,即使该文件正被另一个进程使用。我发现,您可以将相同的概念应用于某些文件,如.bpl文件,所以下面是解决方案


我真的希望它能有所帮助,坦斯克。

尝试在不锁定文件的情况下读取/写入文件。如果是您的应用程序锁定了文件:是,请参阅上面的链接。如果是外部应用程序锁定该文件:如果没有handle.exe,则不太可能,因为您必须重新设计其执行方式,这将需要相当多的P/调用。