2012-05-03 11 views
0

スタートメニューの「マイコンピュータ」をクリックすると、直接リンクではなくGUIDリンクが返されます。例えば:私はQDirの助けを借りて、ディレクトリとファイルのリストを取得することができるようにWindowsをQt/C++でGUIに変換する方法は?

::{20B04FE1-3AEA-1069-A2D8-08012B30309D}

にはどうすれば通常のパスに変換することができますか?

UPDATE

私は、ドライブのリストを取得しようとしていませんよ。これはQtで簡単に行えます。私はちょうどユーザーがスタートメニューのマイコンピュータをクリックしたことを知りたい。 (私のアプリケーションはWindowsエクスプローラを置き換えることができます)。

+0

通常、['SHGetFolderPath'](http://msdn.microsoft.com/en-us/library/windows/desktop/bb762181%28v=vs.85%29.aspx)を[' CSIDL_DRIVES' ](http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx)のこの種の2番目の引数として、私はないと思う'CSIDL_DRIVES'は物理パス表現を持っています。あなたは何を達成しようとしていますか? – ildjarn

+0

@ildjarn、質問を更新しました – Alex

+0

「SHITEMID」を検索 – Ben

答えて

1

あなたはファイルネームスペースではなくファイルネームスペース内のアイテムを探しています。

シェル名前空間の概要:

http://msdn.microsoft.com/en-us/library/windows/desktop/cc144090(v=vs.85).aspx

シェルはファイル、マイコンピュータが1であるものとして存在していない多くのことを示します。デスクトップは別のものです。シェルデスクトップは、すべてのユーザーのデスクトップフォルダ、個人のデスクトップフォルダ、ごみ箱のような純粋に仮想的ないくつかのアイテムのマージされたビューです。

SHParseDisplayNameを使用して名前をITEMIDLISTに変更することができます。

Explorer用の代替品をご提供される場合は、幸運を祈ることができます。

関連する問題