并发文件读写

时间:2014-10-28 15:05:48

标签: winapi concurrency

我在Win7平台上,我有一个第三方软件,可以打开并写入给定文件。我希望拦截进入该文件的数据并在进程完成之前查看它。当文件被填满时,它在资源管理器中明显变大,因此数据正在写入IMO。当然,任何尝试(使用我所知道的任何高级或低级API,如果它有任何不同,用Python编写)都会导致"访问被拒绝"错误5或"进程无法访问该文件,因为它正由另一个进程使用。"错误32。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

除非其他应用允许,否则您无法访问该文件。打开/创建文件时,它指定文件的共享权限。如果您尝试在文件已打开时打开该文件,使用与共享权限不兼容的标记,则打开将失败。如果要打开文件以进行只读访问,则另一个应用程序必须打开/创建启用了读共享的文件。您可以使用SysInternals Process Monitor之类的工具查看其他应用实际使用的共享权限。