Udostępnij przez


Jak zarejestrować obsługiwacz podglądu

W tym temacie wyjaśniono, jak zarejestrować program obsługi w wersji zapoznawczej skojarzony z danym typem danych. Na potrzeby ilustracji przykłady w tym temacie używają typu pliku xyz. Rejestracja obsługi podglądu jest standardową rejestracją opartą na skojarzeniach plików.

Instrukcje

Krok 1:

Najpierw rozszerzenie nazwy pliku jest skojarzone z identyfikatorem ProgID. Poniższy wpis kojarzy podklucz xyzfile ProgID z rozszerzeniem pliku .xyz.

HKEY_CLASSES_ROOT
   .xyz
      (Default) = [REG_SZ] xyzfile

Podklucz xyzfile ProgID jest przechowywany z innymi identyfikatorami ProgID, jak pokazano tutaj.

HKEY_CLASSES_ROOT
   xyzfile

Każdy podklucz handlera wersji zapoznawczej ProgID zawiera podklucz o nazwie shellex, który zawiera podklucz zawsze o nazwie {8895b1c6-b41f-4c1c-a562-0d564250836f}. Obecność tego podklucza informuje system, że program obsługi jest programem obsługi w wersji zapoznawczej.

Wartość domyślna podklucza {8895b1c6-b41f-4c1c-a562-0d564250836f} jest identyfikatorem klasy (CLSID) twojego programu obsługi. Przykład podklucza xyzfile ProgID jest pokazany poniżej, kojarząc obsługujący komponent CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154}.

HKEY_CLASSES_ROOT
   xyzfile
      shellex
         {8895b1c6-b41f-4c1c-a562-0d564250836f}
            (Default) = [REG_SZ] {ec3a629a-a47c-4245-bc78-b4b63d0e3154}

Krok 2.

Następnie dodaj podklucz w obszarze CLSID dla programu obsługi wersji zapoznawczej. Przykład pokazano tutaj. Poniżej przedstawiono wyjaśnienie poszczególnych wpisów.

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

Wartość domyślna podklucza (tutaj {ec3a629a-a47c-4245-bc78-b4b63d0e3154}) nie jest wymagana lub używana. Jednak ustawienie go na nielokalizowany ciąg może pomóc w debugowaniu problemów z rejestracją.

Znak minus (-101) w zasobie .dll we wpisie DisplayName istnieje ze starszych powodów. Z drugiej strony wpis Ikona nie wymaga znaku minus.

Wartość AppID odnosi się do identyfikatora AppID aplikacji powiązanej z rozszerzeniem nazwy pliku (przechowywanego w HKEY_CLASSES_ROOT\APPID). Użyta tutaj wartość —{6d2b5079-2f0b-48dd-ab7f-97cec514d30b}— jest identyfikatorem hosta zastępczego Prevhost.exe. Programy obsługi podglądu w wersji 32-bitowej powinny używać AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} w przypadku instalacji w 64-bitowych systemach operacyjnych.

Wpisy w podkluczu InprocServer32 zawierają odwołanie z powrotem do podklucza ProgID rozszerzenia pliku, a także wpis VersionIndependentProgID.

Krok 3:

Na koniec procedura podglądu musi zostać dodana do listy wszystkich procedur podglądu. Ta lista jest używana jako optymalizacja przez system w celu wyliczenia wszystkich zarejestrowanych procedur obsługi w wersji zapoznawczej na potrzeby wyświetlania. Ponownie, wartość domyślna nie jest wymagana, po prostu pomaga w procesie debugowania.

Notatka

W systemie Windows 7, jeśli aplikacja jest zainstalowana dla wszystkich użytkowników komputera, użyj HKEY_LOCAL_MACHINE; jeśli w przypadku tylko jednego użytkownika użyj 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

Programy obsługi podglądu i host podglądu powłoki

Kompilowanie procedur obsługi w wersji zapoznawczej

wskazówki dotyczące obsługi wersji zapoznawczej