c#运行进程使用的解锁文件

本文关键字:解锁 文件 运行 进程 | 更新日期: 2023-09-27 18:13:26

我正在尝试从c#中更改现有的文件流。持有流的进程不在我的控制范围内,我不能查看或访问它的代码。

文件流以读写状态打开,带锁阻止文件共享。我试图在不关闭的情况下改变流状态,因为关闭流的句柄会立即导致进程崩溃。

没有其他方法,需要访问原始文件;不是副本。修改文件的权限对锁没有影响。暂停进程,关闭句柄并尝试用相同的句柄id重新创建它似乎不起作用,因为程序似乎不接受该句柄并直接关闭。

任何帮助都将非常感激!

c#运行进程使用的解锁文件

如果您希望从多个进程只读访问一个文件,请考虑为每个进程复制该文件。这样就用3个可能更简单的问题代替了更改文件句柄的需要:

  1. 在一个进程运行之前,生成一个文件的副本供它使用。
  2. 指示进程使用该副本(例如通过命令行参数)。
  3. 待进程执行完毕后,删除副本。