-2

C++ で Win32 ハンドルを使用してファイルの名前を取得しようとしています。

さらに 2 つの懸念事項があります。ファイルが空である可能性があり (ファイルを開くことができない可能性があります)、Windows Vista 以降でサポートされている高度な関数 (GetFinalPathNameByHandle など) をすべて使用できません。

助けてくれてありがとう!

4

3 に答える 3

0

win32 についてはわかりませんが、sysinternals プロセス エクスプローラーについては知っています。Google はオープン ソースの代替案を思いつきました: http://processhacker.sourceforge.net/

そのコードを勉強することで、これが可能になるかもしれません。

于 2012-04-16T06:50:08.747 に答える
0

GetMappedFilename()MSDN で推奨されていますが、最適なソリューションではありません。

ここにコピーして貼り付ける準備ができていることを正確に実行するコードを投稿しました: オープンハンドルに関連付けられた名前を取得する方法

于 2013-09-11T23:30:59.527 に答える
0

XP+ の場合、ファイルをマップしてから呼び出すGetMappedFileNameと、名前が返されます (ただし、ディレクトリの場合は除きます)。ファイル ハンドルからファイル名を取得するを参照してください。

于 2012-04-16T09:52:55.313 に答える