--- MyFolder Version 1.06.2 --- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 概要  このプログラムは、デスクトップやマイコンピュータ、コントロールパネルに 任意の「仮想フォルダ」を作成するプログラムです。この「仮想フォルダ」は、 既存のフォルダを選んで作成されます。一つの DLL で複数の「仮想フォルダ」を 登録することができ、Windows 98 以降なら、現在のユーザーのみに登録するか、 すべてのユーザーに対して登録するかを選ぶことが出来ます。  簡単に言うと、「マイドキュメント」を任意のフォルダに拡張した感じです。  また、フォルダのアイコンを変更することも出来ます。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ファイルの説明 ・MyFolder.dll  プログラムの本体です。exe ファイルではないからといって、  削除しないでください。 ・MyFolder.exe  MyFolder.dll を実行するためのプログラムです。実行内容のすべてが  その dll に入っているので、MyFolder.exe のサイズはとても  小さくなっています。 ・MyFolder.txt  この説明ファイルです。 なお、MyFolder.dll と MyFolder.exe は、基本的には同じフォルダに 入れてください。また、MyFolder.dll は、プログラムを使い始めたら 絶対に場所を変更しないでください。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= インストール・アンインストール ・特別なインストールは必要ありません。必要な設定はアプリケーション起動時と  フォルダ登録時に自動的に書き込まれます。 ・アンインストールする際は、ファイルを先に消さずに、MyFolder.exe を  実行して「登録の削除」をクリックしてから削除します。 ※ アンインストールする際、ユーザーをまたいでフォルダを登録している場合は、   各ユーザーでその登録を削除してから上記の動作を行ってください。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 動作環境 ・Windows 95 以降で動作します。ただし、Windows 95 では  作成した仮想フォルダにはエクスプローラ以外からアクセスできません。  これには「ファイルを開く」ダイアログなどにも当てはまりますが、  Microsoft Office のダイアログは例外となる場合があります。  (この問題は Microsoft の製品の問題らしいです。) ・Windows 98 でも当てはまるかもしれませんが、Windows 95 で  登録したフォルダを登録した場所から開いて、その中にあるサブフォルダを  開くと、エクスプローラのツリービューの選択が元のフォルダに  移動してしまいます。(ただこの問題は「マイドキュメント」でも起こり得る  問題の可能性がありますが、Windows 98 を持っていないので確認できません) ・Windows 95/XP で動作確認しています。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 使い方  MyFolder.exe を実行すると設定画面が出ます。この設定画面では、 フォルダの登録・変更・削除と、DLL の登録・削除が出来ます。  フォルダを追加するには、表示名・フォルダ名・Namespace を入力します。 表示名はフォルダが表示される時の名前、フォルダ名は実在するフォルダの パスを指定します。右の「...」で選択することも可能です。Namespace は、 現在「Desktop」「MyComputer」「ControlPanel」が使用可能で、フォルダを 表示する場所を意味します (Desktop = デスクトップ、MyComputer = マイコンピュータ、ControlPanel = コントロールパネル)。  また、CLSID はフォルダの ID のようなもので、登録されていない ID が 自動的に入力されています。  「アイコンの変更」をクリックすると、フォルダの表示に使うアイコンを 指定できます。何も入力されていない場合は、デフォルトのフォルダアイコンが 使用されます。  「ユーザー別」と「すべて」という選択肢があります。「ユーザー別」を 選択した場合、現在のユーザーでのみ表示されます。「すべて」を選択した 場合は、すべてのユーザーで表示されます。なお、Windows 95 では 「ユーザー別」は選択できません。  最後に「追加」をクリックすると、フォルダが登録され、Namespace で 指定した場所に登録されます。  既に登録したフォルダを変更するには、リストの中から登録されたフォルダを 選択し、各種項目を変更します。「このアイテムを非表示にする」にチェックを 入れると、そのフォルダは表示されなくなります。ただし、登録が削除される わけではないので、このチェックを外せばまた表示できます。  登録されている「仮想フォルダ」を右クリックして「プロパティ」を 選択しても、そのフォルダに関しての設定を行えます。  登録したフォルダを削除するには、リストの中から登録されたフォルダを 選択し、「削除」をクリックします (「登録の削除」ではありません)。  「登録の削除」は、すべての登録済みフォルダを登録から削除し、 DLL の登録を削除します。  なお、一連の動作で元のフォルダに変更を加えることはありません。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= その他 ・登録した仮想フォルダを右クリックすると、「MS-DOS プロンプト」または  「コマンド プロンプト」というメニュー項目があります。これを選択すると、  元のフォルダをカレントディレクトリにしてプロンプトを表示します。 ・MyFolder の設定は、rundll32 からも実行可能です。 rundll32 "<パス>\MyFolder.dll",ConfigMyFolder  と実行します。 ・DLL の登録・削除は regsvr32.exe からも行えます。 ・コントロールパネルに登録すれば、そこからも開くことが出来ます。ただし、  現在はコントロールパネルに登録する動作は未対応です。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 技術情報 ・このプログラムは、基本的には IShellFolder を実装して元のフォルダの  IShellFolder を呼び出しています。 ・「マイドキュメント」に近づけるため、IShellFolder::GetDisplayNameOf で  自分自身の情報を取得するような呼び出しの場合には、元のフォルダのパスを  返すような実装をしています。 ・元のフォルダの IShellFolder を作成する際、SHGetDesktopFolder から  元のフォルダパスを含む LPITEMIDLIST を作成したのち、IShellFolder::BindToObject  ではなく SHCoCreateInstance 関数(Windows 95 でも使用可能)を利用して  元のフォルダ用の IShellFolder を作成、IPersistFolder3::InitializeEx で  初期化するようにしています。これにより Windows 2000 以降では  上記の「動作環境」の項で挙げているフォルダの選択問題が回避されます。 ・プロパティウィンドウでは MyFolder のプロパティページのほかに  元のフォルダのプロパティページも同時に表示します。この中身は  自分の IShellPropSheetExt::AddPages 内で「全般」プロパティページなどの  クラスを作成して、そのクラスに対して IShellExtInit::Initialize を自ら呼び出し、  続けて IShellPropSheetExt::AddPages を呼び出しています。 ・IShellPropSheetExt 経由でプロパティシートを作成する際、Windows XP の  デザインを適用するには、PROPSHEETPAGE_V3 の hActCtx メンバを設定します。  また、そのページでさらにダイアログを表示するには、ダイアログを表示する前に  上記の hActCtx と同じハンドルで StartActCtx を呼び出す必要があります。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 更新履歴 Version 1.06.2.0 ・Windows 95 でプロパティウィンドウを正しく表示できるように修正。 ・プロパティウィンドウの項目を若干追加。また対象フォルダがドライブでも  それに見合ったプロパティウィンドウを表示するようにした。 ・Windows 2000 以降では「動作環境」の項で挙げているフォルダの選択問題が  回避されるように修正。(技術的な方法は「技術情報」を参照してください。) ・Windows XP のデザインが適用されるようにした。 ・設定ダイアログの「DLL の登録」ボタンを削除して、起動時に自動的に登録するようにした。 ・レジストリの扱い方を修正。ユーザー別の実行に多少配慮した。 Version 1.05.1 (初期バージョン。といっても、これまでにいくつもの改良があったので バージョンは 1.05.1。) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ホームページ: http://pf-j.sakura.ne.jp/ 作者: ジェット