回答:
私もこの質問に興味があったので、できる限りどこを見てもみました。私が得た最も遠いところは、MSDN上のこのリンクでした。
あなたが探しているこれらのデータは、ここのレジストリキーに保存されているようです: hkey_local_machine/SOFTWARE/Microsoft/Windows/CurrentVersion/explorer/FolderTypes
残念ながら、私はレジストリの専門家ではないので、キーを検索して調査するまでしか行っていません。ただし、Microsoftによって指定されたFOLDERTYPEID定数はそこにあるようには見えません。申し訳ありませんが、完全な回答ではありませんが、私はあらゆる場所を検索しましたが、同じトピックに関する質問が他にあるだけでした。
フォルダテンプレートとWindows XP内のカスタマイズには、実際にはかなり多くの問題があります。どうやら、これは10代のインターンが誤ってプログラムしたことが原因でした(これが本当だったかどうかはわかりませんが、私には十分理解できます)。
新しいテンプレートを追加する方法はありませんが、最初にフォルダを特定のテンプレートに割り当て、次にレジストリ内の詳細を変更することで、同様の効果を得ることができます。
レジストリ内の既存のテンプレートの1つに変更した後、特定のフォルダーを識別する必要があります。
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\[Whatever]\Shell\
どこ[Whatever]
にいくつ
使用するTEMPLATEタイプにREG_SZ
名前が付けられた文字列値がありFolderType
ます。つまり、音楽の場合は「MyMusic」、画像の場合は「MyPictures」、「任意のタイプのドキュメント」の場合は「Documents」これらのテキストは「%WINDIR%/ shell内にあります.inf "ファイル
「Vid」REG_SZ String Value
には、「透かし」画像のクラスIDが含まれています。現時点では、どのファイルタイプが有効であるかについてコメントすることはできませんが、bmp、gif、png、jpgのすべてを試す必要があります。
レジストリで標準フォルダタイプの名前を見つけることができないので、残念ながらそれらはWindowsソフトウェアに組み込まれていると思います。
たとえば、 "Pictures and Videos"をshell32.dll内のUnicode文字列として見つけました。さらに、それは他の無関係な文字列の中で見つかりました。そのため、すべてのフォルダタイプを一緒にパッケージ化する試みはなかったようです。つまり、新しいタイプがMicrosoftのUI設計者によって発明されたため、フォルダタイプを1つずつ追加しました。
マイクロソフトによるこのずさんで近視眼的なプログラミング方法では、あなたの要求が不可能になると思います。いずれにせよ、shell32.dllをハッキングしたいとは思いません。