C#使用handle实现获取占用指定文件或文件夹的进程(Locksmith功能)

2024-09-13 19:30:33 浏览数 (4)

前言:很多时候,一些不知道啥进程,把你的文件给占用了,然后就没办法删掉或者做其他操作。如果使用Locksmith功能,就可以实现快速锁定是哪个进程在搞事情,把对应进程干掉就可以了。下面内容演示C#使用几行代码实现File Locksmith功能。

先创建一个控制台程序(其他程序均可),新增一个Locksmith类,用于模拟File Locksmith的功能。并引用handle文件。

handle文件下载地址:

https://download.sysinternals.com/files/Handle.zip

然后直接传入文件或文件夹路径,即可自动识别。例如本地我用WPS打开了一个word文档:

提供个获取文件路径的输入,然后传入参数。运行,效果如图:

检查对应的任务管理器,确实可以看到改进程ID是30656,以及内部在打开一个test.docx文件。

也可以识别文件夹路径,例如查看D盘被谁占用:

找到6472,找到一个系统进程,右键打开文件位置,确实是svchost.exe程序占用了。

功能使用用途:例如U盘弹出、文件删除等,发现被占用,就可以使用该功能快速锁定具体哪个进程占用。如果是无关的进程,直接关闭程序就行。如果是一些后台进程,可以拓展个kill命令,直接kill指定进程来释放文件。

1 人点赞