gpt4 book ai didi

c++ - 如何查询文件上所有锁持有者的窗口

转载 作者:行者123 更新时间:2023-11-28 08:08:54 29 4
gpt4 key购买 nike

我即将为我们的软件实现一项新功能,即在用户打开文档时锁定我们的文档(之前我们只是打开文件进行阅读或写入,但在此期间没有保持句柄打开)。

保留句柄并以写独占模式打开它是微不足道的。

我的问题是如何查询窗口以发现是否无法使用写访问权限打开给定文件,哪个用户/实体已经锁定文件以进行写访问?

例如:

_fsopen(m_ClipboardFilename, "wb", _SH_DENYWR);

或者

CStdioFile listFile(strLabelfile, CFile::typeText | CFile::modeRead | CFile::shareDenyWrite | CFile::modeNoInherit);

其中任何一个都以独占写入权限打开给定文件(或失败并显示错误,指示是否存在共享冲突或其他问题)。

但我想做的是发现“谁”锁定了共享违规的文件,这样我就可以向当前用户报告

Sam, on PC-007, has this file locked, you can only open it in read-only mode. Do you wish to proceed?

我见过一些实用程序会告诉您谁锁定了文件 - 还有更多实用程序会强制解锁,以便可以操作文件(系统管理员类型的实用程序)。所以看来必须有一种方法来查询这些信息。

最佳答案

陈峰 recently explained how to do this使用 Restart Manager .

这会告诉您哪个进程打开了文件,但我不知道如果文件是不同的服务器,它是否会告诉您任何非常有用的信息。

关于c++ - 如何查询文件上所有锁持有者的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9586319/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com