プレビュー ハンドラーを登録する方法
このトピックでは、特定のデータ型に関連付けられているプレビュー ハンドラーを登録する方法について説明します。 図の目的で、このトピックの例では .xyz ファイルの種類を使用します。 プレビュー ハンドラーの登録は、標準のファイル関連付けベースの登録です。
Instructions
手順 1:
最初に、ファイル名拡張子が ProgID に関連付けられます。 次のエントリは、 xyzfile ProgID サブキーを .xyz ファイル名拡張子に関連付けます。
HKEY_CLASSES_ROOT
.xyz
(Default) = [REG_SZ] xyzfile
xyzfile ProgID サブキーは、次に示すように、他の ProgID と共に格納されます。
HKEY_CLASSES_ROOT
xyzfile
各プレビュー ハンドラー ProgID サブキーには、常に{8895b1c6-b41f-4c1c-a562-0d564250836f} という名前のサブキーを含む shellex という名前のサブキーが含まれています。 そのサブキーが存在すると、ハンドラーがプレビュー ハンドラーであることをシステムに通知します。
{8895b1c6-b41f-4c1c-a562-0d564250836f} サブキーの既定値は、ハンドラーのクラス識別子 (CLSID) です。 ここでは、xyzfile ProgID サブキーの例を示します。CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154} のハンドラーを関連付けています。
HKEY_CLASSES_ROOT
xyzfile
shellex
{8895b1c6-b41f-4c1c-a562-0d564250836f}
(Default) = [REG_SZ] {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
手順 2:
次に、プレビュー ハンドラーの CLSID の下にサブキーを追加します。 例を次に示します。 個々のエントリの説明を次に示します。
HKEY_CLASSES_ROOT
CLSID
{ec3a629a-a47c-4245-bc78-b4b63d0e3154}
(Default) = [REG_SZ] Fabricam XYZ Preview Handler
DisplayName = [REG_SZ] @myhandler.dll,-101
Icon = [REG_SZ] myhandler.dll,201
AppID = [REG_SZ] {6d2b5079-2f0b-48dd-ab7f-97cec514d30b}
InprocServer32
(Default) = [REG_EXPAND_SZ] %ProgramFiles%\Fabricam\myhandler.dll
ThreadingModel = [REG_SZ] Apartment
ProgID = [REG_SZ] xyzfile
VersionIndependentProgID = [REG_SZ] Version IndependentProgID
サブキーの既定値 ({ ec3a629a-a47c-4245-bc78-b4b63d0e3154}) は必須または使用されません。 ただし、ローカライズされていない文字列に設定すると、登録の問題をデバッグするのに役立ちます。
DisplayName エントリの.dll リソースのマイナス記号 (-101) は、レガシの理由から存在します。 一方、アイコン エントリにはマイナス記号は必要ありません。
AppID 値は、ファイル名拡張子に関連付けられているアプリケーションの AppID への参照を提供します (APPID HKEY_CLASSES_ROOT下に\格納されます。 ここで使用する値{6d2b5079-2f0b-48dd-ab7f-97cec514d30b}は、Prevhost.exeサロゲート ホストの ID です。 32 ビット プレビュー ハンドラーは、64 ビット オペレーティング システムにインストールされている場合、 AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} を使用する必要があります。
InprocServer32 サブキーの下のエントリには、ファイル名拡張子の ProgID サブキーへの参照と VersionIndependentProgID のエントリが含まれます。
手順 3:
最後に、プレビュー ハンドラーをすべてのプレビュー ハンドラーの一覧に追加する必要があります。 このリストは、表示目的で登録されているすべてのプレビュー ハンドラーを列挙するための最適化としてシステムによって使用されます。 繰り返しますが、既定値は必須ではありません。デバッグ プロセスを支援するだけです。
注意
Windows 7 では、コンピューターのすべてのユーザーにアプリケーションがインストールされている場合は、HKEY_LOCAL_MACHINEを使用します。ユーザーが 1 人だけの場合は、HKEY_CURRENT_USERを使用します。
HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
SOFTWARE
Microsoft
Windows
CurrentVersion
PreviewHandlers
{ec3a629a-a47c-4245-bc78-b4b63d0e3154}
(Default) = [REG_SZ] Fabricam XYZ Preview Handler
関連トピック