gpt4 book ai didi

c# - 判断文件是否打开

转载 作者:太空狗 更新时间:2023-10-29 20:22:23 24 4
gpt4 key购买 nike

有什么方法可以确定文件是否被任何东西打开,包括不锁定文件的应用程序(如记事本)。

我需要检测给定文件 myfile.txt 何时不再在包括记事本在内的任何应用程序中打开 - 因此我无法使用具有独占访问权限的 File.Open(...) 进行测试,因为该文件没有锁定。

最佳答案

没有。当记事本打开一个文件时,它会读取整个文件,然后将其关闭。所以在操作系统中没有任何痕迹将记事本的私有(private)内存与磁盘上的文件联系起来。

以独占方式打开文件将不起作用,因为记事本没有打开该文件。搜索记事本的句柄表将不起作用,因为记事本没有打开该文件。

检测此问题的唯一方法是编写一个非托管 DLL,将其注入(inject)每个进程以扫描它们的虚拟内存,搜索确切的文件内容。不推荐。

关于c# - 判断文件是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162957/

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