chanlk
V2EX  ›  问与答

为什么 Windows 不告诉你谁在使用这个文件?

  •  
  •   chanlk · Mar 24, 2020 · 2304 views
    This topic created in 2335 days ago, the information mentioned may be changed or developed.

    删除文件或者修改文件名的一些操作的时候,文件处于在使用的状态下是无法进行这些操作的。但是问题是很多时候我找不到谁在用它,为什么 Windows 不告诉你哪个程序正在使用这个文件呢? 或者有什么姿势可以快速找到是哪个程序在用它吗?

    8 replies    2020-03-24 21:19:04 +08:00
    Vegetable
        1
    Vegetable  
       Mar 24, 2020   ❤️ 2
    资源监视器搜索关联的句柄

    任务管理器-性能-打开资源监视器-搜索关联的句柄
    Vegetable
        2
    Vegetable  
       Mar 24, 2020
    任务管理器-性能-打开资源监视器-切换到 CPU 页-搜索关联的句柄
    minami
        3
    minami  
       Mar 24, 2020
    IObit Unlocker
    chanlk
        4
    chanlk  
    OP
       Mar 24, 2020
    @Vegetable 学到了,感谢感谢!
    geelaw
        5
    geelaw  
       Mar 24, 2020 via iPhone   ❤️ 3
    Windows 有尝试的,见

    https://devblogs.microsoft.com/oldnewthing/20120217-00/?p=8283

    https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ifileisinuse

    后者( IFileIsInUse )是应用程序汇报自己使用文档 /媒体文件的方法,它允许用户查询是哪个程序的哪个窗口在使用它,并允许用户请求关闭该程序。

    前者( Restart Manager )是 Windows 内核提供的方法,它可以找到使用文件的所有进程。

    然而并不是所有的信息都有意义,在没有 IFileIsInUse 的情况下,是无法确切得知“应该找哪个程序解决问题”的,比如说一个文件可能被一个 COM server 打开,而惟一能逻辑上正确关闭文件的是 COM client,这时提示用户关掉 COM server 基本上是没有意义的。又比如一个文件被某个服务打开,而它打开的原因是为了服务某个程序,这时正确的指引方向是程序而不是服务。
    ybw
        7
    ybw  
       Mar 24, 2020 via Android
    这是 Windows 的产品经理没做好事了
    loading
        8
    loading  
       Mar 24, 2020 via Android
    wholockme,小巧好用。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2683 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 05:13 · PVG 13:13 · LAX 22:13 · JFK 01:13
    ♥ Do have faith in what you're doing.