カタバミさんのプログラミングノート

日曜プログラマーがプログラミング関係のメモを記録するブログです。

C++でごみ箱の項目の元の場所を取得する方法

Windows 10、C++でごみ箱の項目の元の場所を取得するにはIShellFolderインターフェイスのGetDisplayNameOfメソッドを利用することができます。具体的にはGetDisplayNameOfメソッドに与えるフラグにより次の値を得ることができます。例はごみ箱に「C:\新しいフォルダー」のみ存在する状態でごみ箱の最初の項目にGetDisplayNameOfメソッドを適用した結果です。

フラグ 内容
SHGDN_NORMAL 元のパス C:\新しいフォルダー
SHGDN_INFOLDER 元のファイル名 新しいフォルダー
SHGDN_FOREDITING 元のパス C:\新しいフォルダー
SHGDN_FORADDRESSBAR 元のパス C:\新しいフォルダー
SHGDN_FORPARSING 正確な場所 C:\$Recycle.Bin\<SID>\$R2P13FZ