获取当前进程中所有句柄的名称
Get name of all handles in current process
我需要列出当前进程中所有打开的句柄。由于我找不到任何像"EnumHandles"这样的函数,我正在考虑从0到1000进行循环。问题是我如何能检索每个句柄的名称?我用的是c++,操作系统是Win7 32位编辑:我需要的句柄的名称是一个互斥。通过比较互斥对象的名称,我想获得句柄id我似乎已经找到了使用OpenMutex的解决方案,但我不知道第三个参数要传递什么,
我相信你必须使用NTDLL.DLL。据我所知,在Windows下,所有监控进程、句柄和其他系统信息的工具最终都必须使用这种方法。我在一个小的Win32工具中使用它,但是从来没有列出句柄。
在这里查看该库的良好介绍以及与您的问题相关的内容。http://forum.sysinternals.com/howto-enumerate-handles_topic18892.html
还有在http://forum.sysinternals.com/enumerate-opened-files_topic3577.html的第一篇文章中的GetObjectName函数
在Windows中访问这类信息似乎是很多工作,看起来很可怕,因为微软不想支持它,但你会看到,当"简单"的API不能给你你需要的,你必须挖掘到NTDLL。这就是像ProcessExplorer这样的工具最终使用的方法。它并不难使用:加载DLL,获得正确的函数指针,用您在网上可以找到的内容填充您自己声明的结构体。
相关文章:
- 枚举进程模块在有效句柄上返回无效句柄
- 获取特定进程的句柄数
- 获取现有进程句柄
- 获取进程内存信息失败,错误 6 句柄无效
- 是否可以注入一个进程并获取给定的句柄,然后使用它们注入另一个进程
- 将窗口句柄从一个进程使用到另一个进程(插件 vst 音频)
- 为什么使用 ReadProcessMemory() 和当前进程的句柄
- 如何通过其 HWND 句柄在另一个进程中更改 TDateTimePicker 控件中的当前选定日期
- C++:通过进程id、进程句柄和标题名称从进程中获取唯一窗口的窗口句柄的最佳方法
- 获取进程句柄的详细信息
- 如何在Windows中获取当前进程的所有子进程的句柄
- 获取进程句柄名称
- 具有进程的句柄 如何注册以监视其关闭/重新启动/复制事件
- Windows -- 继承子进程中的控制台文件句柄
- 如何从win32进程中获取线程句柄列表
- 如何在C/C++中创建一个新进程,并在WinXp中获得这个新进程句柄
- 从Windows中的父进程继承句柄
- 如何获取进程的文件句柄
- 无法获取进程的句柄
- 获取当前进程中所有句柄的名称