c# - 如何在 C# 中按进程获取打开的文件句柄列表?

标签 c# .net

如何在 C# 中通过进程 ID 获取打开的文件句柄列表?

我也有兴趣深入挖掘并获取文件名。

寻找与进程资源管理器所做的程序等效的程序。

这很可能需要互操作。

考虑为此增加赏金,实现起来非常复杂。

最佳答案

哎呀,这很难通过托管代码来实现。

有一个sample on codeproject

大部分内容都可以在互操作中完成,但是您需要一个驱动程序来获取文件名,因为它位于内核的地址空间中。 Process Explorer 将驱动程序嵌入到其资源中。从 C# 获得这一切并支持 64 位和 32 位,将是一个令人头疼的问题。

关于c# - 如何在 C# 中按进程获取打开的文件句柄列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/177146/

相关文章:

c# - .NET WinForms INotifyPropertyChanged 在更改时更新所有绑定(bind)。更好的方法?

c# - 为什么 "SELECT * FROM user"会抛出语法错误?

c# - 下载文件并自动保存到文件夹

c# - 读取 xml/将其合并到项目中 - C#

c# - 从 URL 保存 GIF

c# - .Net C# TcpClient/Socket HTTP 客户端性能/效率

c# - .NET MVC 自定义日期验证器

c# - 在 .net Web 浏览器控件中突出显示文本

c# - 以 bool 作为参数模拟一个方法,并返回一个带有 Moq 的 List<>

c# - 我们是否应该同时提供 SmtpClient 包装器的异步和同步实现?