-2

我正在尝试使用 C++ 中的 Win32 句柄获取文件的名称。

我还有两个担心,文件可能是空的(打开文件可能不起作用),并且我不能使用 Windows Vista 及更高版本支持的所有花哨的功能(例如 GetFinalPathNameByHandle)。

谢谢您的帮助!

4

3 回答 3

0

我不知道win32,但我知道sysinternals 进程资源管理器。Google 提出了一个开源替代方案:http: //processhacker.sourceforge.net/

也许研究该代码将使您能够做到这一点。

于 2012-04-16T06:50:08.747 回答
0

对于 XP+,您可以映射文件然后调用GetMappedFileName它将返回名称(尽管不是目录)。请参阅从文件句柄获取文件名

于 2012-04-16T09:52:55.313 回答
0

GetMappedFilename()尽管在 MSDN 中推荐,但这并不是最好的解决方案。

我已经发布了完全符合您想要复制和粘贴的代码: How to get name associated with open HANDLE

于 2013-09-11T23:30:59.527 回答