【发布时间】:2010-10-04 08:10:51
【问题描述】:
我想访问一个已被其他进程(不受我控制)以独占访问权限打开的文件。我知道 I/O 管理器不会批准我的请求,因为其他进程正在持有锁(具有独占访问权限)。
有什么方法可以绕过 I/O 管理器进行的检查(例如以独占模式打开的文件)并访问文件,即使它以独占模式打开(CreateFile() 将失败)?
谢谢。
【问题讨论】:
-
你应该小心尝试这个。您的更改可能会干扰其他进程。
-
这不会破坏其他进程以独占模式打开文件的目的吗?
-
是的,另一个进程很笨(它是windows本身),我只想读一点小东西,几乎不需要几个时钟。
-
这是一个巨大的文件,我想阅读的部分永远不会改变。
-
@lalli:但是,其他进程仍然以独占方式打开文件。如果您认为您的访问会发生很大变化或需要很长时间,这并不重要。除非您可以说服其他进程释放锁定,否则我会说(在不了解 Windows API 的情况下)不应该有任何方法可以做到这一点。 (您是否有机会尝试在交换文件中四处寻找?)