【问题标题】:How to open a file which is already open in exclusive mode?如何打开已经以独占模式打开的文件?
【发布时间】:2010-10-04 08:10:51
【问题描述】:

我想访问一个已被其他进程(不受我控制)以独占访问权限打开的文件。我知道 I/O 管理器不会批准我的请求,因为其他进程正在持有锁(具有独占访问权限)。

有什么方法可以绕过 I/O 管理器进行的检查(例如以独占模式打开的文件)并访问文件,即使它以独占模式打开(CreateFile() 将失败)?

谢谢。

【问题讨论】:

  • 你应该小心尝试这个。您的更改可能会干扰其他进程。
  • 这不会破坏其他进程以独占模式打开文件的目的吗?
  • 是的,另一个进程很笨(它是windows本身),我只想读一点小东西,几乎不需要几个时钟。
  • 这是一个巨大的文件,我想阅读的部分永远不会改变。
  • @lalli:但是,其他进程仍然以独占方式打开文件。如果您认为您的访问会发生很大变化或需要很长时间,这并不重要。除非您可以说服其他进程释放锁定,否则我会说(在不了解 Windows API 的情况下)不应该有任何方法可以做到这一点。 (您是否有机会尝试在交换文件中四处寻找?)

标签: c++ windows file


【解决方案1】:

备份 api(卷影副本)可以帮助您获取该文件的副本。

【讨论】:

  • 结合各自的权限。好决定。 +1。
猜你喜欢
  • 1970-01-01
  • 2010-10-15
  • 2016-07-01
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多