C#解锁运行进程

时间:2016-10-16 18:06:03

标签: c# .net

我正在尝试从C#中更改现有文件流。保存流的过程超出了我的控制范围,我无法查看或访问它的代码。

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

无法使用替代方法,需要访问原始文件;不是副本。更改文件的权限对锁定没有影响。暂停进程,关闭句柄并尝试使用相同的句柄ID重新创建它似乎不起作用,因为程序似乎不接受句柄并且只是关闭。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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

  1. 在流程运行之前,生成一份文件副本供其使用。
  2. 指示进程使用该副本(例如通过命令行arg)。
  3. 完成处理后,删除副本。