WeP*_*ro2 6 c++ winapi handles
我需要列出当前进程中的所有打开句柄.由于我找不到任何像"EnumHandles"这样的函数,我正在考虑从0到1000进行循环.问题是如何检索每个句柄的名称?我使用的是c ++,操作系统是Win7 32位编辑:我需要的名称是Mutex.通过比较互斥锁的名称,我想获得句柄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中访问这类信息可能看起来很多工作并且看起来很可怕,因为微软不想支持它,但你会发现,当'easy'API不能满足你的需求时,你必须挖掘到NTDLL.这就是ProcessExplorer最终使用的工具.使用起来并不是那么难:加载DLL,获取正确的函数指针来填充你在网上发现的结构.