2

Windows では、5 つのフォルダーの種類 (一般的なアイテム、ドキュメント、画像、音楽、およびビデオ) が定義されています。Windows エクスプローラーで、フォルダーを右クリックし、[プロパティ] -> [カスタマイズ] -> [このフォルダーを最適化] を選択して、タイプを取得/設定できます。C# でフォルダーの種類を取得/設定する方法を探しています。これを検索しましたが、正しい用語を使用していないに違いありません。

誰かが私を正しい方向に向けることができますか?

更新:洞察をありがとう!これは簡単だと思いました-明らかにそうではありません。

非常に奇妙な。desktop.ini のないフォルダーを選択できます。そのフォルダーのプロパティを変更し、フォルダーの種類を選択して [適用] をクリックすると、desktop.ini が作成され、それに応じてフォルダー ビューが変更されます。ただし、desktop.ini を削除すると、フォルダーの種類は保持されます。エクスプローラーを再起動します。Windows を再起動します。

シャドウ コピーの可能性に関しては、これを裏付ける証拠を見つけることができません。C: を除いて、すべてのドライブでシステム保護がオフになっています。ShadowExplorerを使用すると、desktop.ini ファイルへの参照が見つかりません。

不可解...

4

3 に答える 3

5

デスクトップのiniファイルまたはレジストリを使用できると思います。

ただし、フォルダに desktop.ini を作成する場合は、必ずそのフォルダに「システム」属性を追加してください。そうしないと、desktop.ini が無視されます。

attrib +s FolderName

(または C# コードを使用)

MSDN へのリンクhttp://msdn.microsoft.com/en-us/library/aa969337.aspx

于 2013-06-19T05:38:19.753 に答える
2

さて、あなたは方向性が欲しいので.....これは、フォルダのカスタマイズに関するMicrosoftドキュメントへのリンクです...

フォルダー ビューの設定を変更する方法またはフォルダーをカスタマイズする方法

この記事では、いくつかのレジストリ サブキーとキーへの参照を見つけることができます。もちろん、異なる Windows バージョンでは同じではありません (簡単すぎます)。

WinXP, 2003
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam

Vista, Win7
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell

前述のレジストリ キーと、これらのキーの背後にある複雑さを見て、この作業を OS 自体に任せることを強くお勧めします。

編集以下の失礼なコメントで自尊心を傷つけられたので、この DESKTOP.INI ファイルに関するドキュメントをもう少し検索して、問題を解決するためのより良いオプションと思われるものを探すことにしました。私はこのドキュメントを見つけましたが、これは非常に詳細なようです (ただし、この小さなファイルを正しく処理することが非常に複雑であることも示しています)。ちなみに、このファイルを変更するだけで本当に違いが生じるかどうかをまだ理解する必要があります。私が試した限り、テストフォルダーは変更されていませんが、これは何らかのキャッシュが原因である可能性があります.

于 2013-06-17T23:17:30.817 に答える
2

フォルダーの種類は、そのフォルダーにあるdesktop.iniファイルに保存されます(SYSTEM属性があり、デフォルトでは表示されません-「Windowsエクスプローラー設定で保護されたシステムファイルを非表示にする」のチェックを外す必要があります)。

「画像用に最適化」に設定されたフォルダーからの Windows 7 の desktop.ini コンテンツの例、または英語の Windows で呼ばれるもの。

[ViewState]
Mode=
Vid=
FolderType=Pictures

FolderType を変更/読み取るには、そのファイルを変更/読み取るだけです。

そのファイル (desktop.ini) には、より多くの設定 (カスタム アイコン ファイル/リソースの場所など) を含めることができます。標準の Documents または Desktop フォルダにある desktop.ini を参照してください。


コメントに従って編集/更新:

属性を持つファイルにsystemはシャドウコピーが含まれている可能性があり、それらを削除すると復元されるため、それが起こる可能性がありますか? これが保存されている場所は他にないと確信しています。

そのファイルを削除するのではなく、上書きしてみてください。

Windows レジストリには、新しいフォルダーを作成するときに適用される既定の設定のみがあります。

また、さらに掘り下げたところ、desktop.ini ファイルを「より適切に」処理する WINAPI 関数に関する情報が見つかりました。

これを参照してください: Windows エクスプローラーでフォルダーのアイコンを作成する、C# を使用して、Evan Stone の codeproject.net で

Desktop.ini なしでカスタマイズされたフォルダについてもう 1 つ - これは不可能だと思います。もう一度確認して、system属性を持つファイルが表示されることを確認してください。

編集2:

SchlaWiener の回答をご覧ください。彼は重要なことを指摘しました。

私は彼の答えに反対票を投じましたが、間違っていました。今は投票を元に戻すことはできません。

于 2013-06-18T01:03:21.583 に答える