windows - 有没有办法获得对以独占访问方式打开的文件的读访问权限,即 FILE_SHARE_NONE

标签 windows

如果不采取肮脏和令人讨厌的方式,我相信这在用户模式下是不允许的,即使使用 SE_BACKUP_NAME。

我认为肮脏和令人讨厌的事情:

  1. 找出哪个进程拥有该句柄,并编写在该进程中运行的代码并关闭该句柄。
  2. 读取/解析MFT/FAT表
  3. 使用内核驱动程序

最佳答案

是的,有一种方法,尽管它可能不适合您的需求;它并不脏或令人讨厌,但它很重,也就是说,它不容易编写代码,并且如果您只是尝试读取单个文件,它会产生不成比例的系统负载。

但是,如果您需要这样做,这是我所知道的唯一合理且安全的解决方案:请参阅 Volume Shadow Copy Service 上的 MSDN 文档。 .

现在大多数备份软件都使用 VSS。

关于windows - 有没有办法获得对以独占访问方式打开的文件的读访问权限,即 FILE_SHARE_NONE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912178/

相关文章:

java - 如何通过单独的 Java 进程访问 Windows GUI 文件菜单?

windows - 通过变量执行cmdlet?

windows - 似乎无法让 Wix 安装驱动程序

windows - 删除名称中包含 "EXAMPLE"的打印机

windows - 修改for循环以在批处理脚本中不使用延迟扩展

C#:当我尝试移动窗口、单击外部或最小化窗口时,窗口会挂起

javascript - 如何在winjs中的repeater元素中绑定(bind)点击事件?

android - 嗯?添加 SDK 1.6 后,Android 首选项页面拒绝加载

windows - 如何写 Yes 命令作为这个问题的答案?谢谢

java - 在 Windows 可执行文件中嵌入 JRE?