プレビュー ハンドラーを登録する方法
このトピックでは、特定のデータ型に関連付けられているプレビュー ハンドラーを登録する方法について説明します。 図の目的で、このトピックの例では .xyz ファイルの種類を使用します。 プレビュー ハンドラーの登録は、標準のファイル関連付けベースの登録です。
Instructions
手順 1:
まず、ファイル名拡張子が ProgID に関連付けられます。 次のエントリは、xyzfile ProgID サブキーと .xyz ファイル名拡張子を関連付けます。
HKEY_CLASSES_ROOT
.xyz
(Default) = [REG_SZ] xyzfile
ProgID サブキー xyzfile は、次に示すように他の ProgID と共に格納されます。
HKEY_CLASSES_ROOT
xyzfile
各プレビュー ハンドラー ProgID サブキーには、shellex という名前のサブキーが含まれています。このサブキーには常に、{8895b1c6-b41f-4c1c-a562-0d564250836f} という名前のサブキーが含まれています。 そのサブキーが存在すると、ハンドラーがプレビュー ハンドラーであることをシステムに通知します。
{8895b1c6-b41f-4c1c-a562-0d564250836f} サブキーの既定値は、ハンドラーのクラス識別子 (CLSID) です。 ここでは、CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154} のハンドラーを関連付けた、ProgID サブキー xyzfile の例を示します。
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 への参照を提供します (HKEY_CLASSES_ROOT\APPIDの下に格納されます。 ここで使用する値{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
関連トピック