2010-11-01 71 views

回答

2

是的,这是相当有意不包含在记录的API中。枚举打开的文件无法在多任务操作系统上可靠地工作,您无法“冻结”操作系统并阻止其他进程在枚举文件时打开和关闭文件。竞赛条件无法解决。唯一有记录的方法是尝试打开没有共享的文件。

是的,NtQuerySystemInformation是后门。由SysInternals的Handle工具使用。并由他们维护,因为每个新版本的Windows都需要更新该实用程序。

+0

非常感谢。这回答了! – JKK 2010-11-02 13:29:57

0

您可能可以通过首先枚举系统上的所有句柄,然后获取每个句柄的文件名作为文件句柄。

这是一个枚举句柄的旧程序,找到那些对某个进程是进程句柄并打印它们的句柄。您需要将其从流程句柄更改为文件句柄。 http://nopaste.info/eb9917d719.html但它使用NtQuerySystemInformation。

介绍如何获得从手柄的文件名: http://msdn.microsoft.com/en-us/library/aa366789(VS.85).aspx

相关问题