0

プラットフォームに依存しないファイル/ディレクトリ ツリー ブラウザを実装しようとしています。基本的に、Windows エクスプローラーのツリー コントロールを複製してコンピューターを参照しようとしています。ただし、「デスクトップ」または「マイ コンピュータ」フォルダの文字列を見つける方法がわかりません (すべての PC と OS の種類、バージョン、および言語で変わります)。最上位のフォルダー文字列を取得する方法を見つけることができれば、下にたどってツリーを作成することができます。どこかにレジストリ文字列はありますか?

最初は、MS Windows OS (XP、Vista など) のみをターゲットにしますが、後で Linux と Mac もサポートする予定です。私は自分の GUI に wxWidgets を使用していますが、この特定の問題に対するすべての提案を受け付けています。ああ、私は VS2008 で C++ を使用しています。

4

2 に答える 2

2

移植性を無視すると、必要なのは「PIDL」ツリーです。PIDL は、ファイル パスの一般化です。SHGetFolderLocation を使用して、特別なフォルダーの PIDL を取得できます。デスクトップはCSIDL_DESKTOP(ではなく CSIDL_DESKTOPDIRECTORY)、マイ コンピュータはCSIDL_DRIVESです。

PIDL を名前に変換するには、SHGetNameFromIDList を参照してください。

于 2009-04-07T14:49:19.687 に答える
1

SHGetFolderPath関数を見てください。

于 2009-04-07T14:42:46.660 に答える