Udostępnij za pośrednictwem


Integracja z galerią zdjęć systemu Windows i Eksploratorem Windows

Ten temat dotyczy systemu Windows Vista i nowszych wersji. Zawiera on następujące sekcje:

Wprowadzenie

Aby umożliwić galerii zdjęć systemu Windows i Eksploratorowi Windows wyświetlanie miniatur oraz wyszukiwanie i aktualizowanie standardowych metadanych obrazu, koder koder-dekoder musi mieć implementację IThumbnailProvider i interfejsów IPropertyStore skojarzonych z nim. Interfejs IThumbnailProvider służy do pobierania miniatur i wypełniania pamięci podręcznej miniatur, a interfejs IPropertyStore służy do wyszukiwania i aktualizowania metadanych skojarzonych z plikiem. W systemie Windows Vista wszystkie typy plików mają miniatury i metadane, ale różne typy plików wymagają różnych implementacji tych interfejsów w celu pobrania lub wygenerowania miniatur i metadanych. System zapewnia domyślne implementacje tych interfejsów. Domyślna implementacja elementu IThumbnailProvider może być używana dla dowolnego formatu obrazu z obsługą funkcji Windows Imaging Component (WIC). Domyślna implementacja IPropertyStore może być używana z dowolnym formatem obrazu z obsługą funkcji WIC, który jest oparty na otagowanym formacie pliku obrazu (TIFF) lub JPEG. Aby skojarzyć format obrazu z domyślnymi implementacjami obu tych interfejsów, należy dodać tylko kilka wpisów rejestru.

Poniższe wpisy wskazują galerii zdjęć systemu Windows i Eksploratora Windows, że rozszerzenie nazwy pliku (.ext) i skojarzony z nim typ MIME są skojarzone z formatem obrazu.

Poniższy wpis wskazuje system Windows i aplikacje korzystające z typu zawartości (nazywanego również typem mime), że plik z danym rozszerzeniem (ext) jest formatem obrazu. Właściciel typu pliku musi wybrać <image sub type value>, który jednoznacznie identyfikuje format pliku, a ta wartość typu zawartości musi być zarejestrowana w usłudze IANA.

HKEY_CLASSES_ROOT
   {.ext}
      ContentType = image/<image sub type>

Poniższy wpis wskazuje system Windows, wyszukiwanie systemu Windows i aplikacje korzystające z System.Kind, że rozszerzenie nazwy pliku (.ext) powinno być traktowane jako obraz. W szczególności wskazuje, że właściwość System.Kind rozszerzenia pliku powinna być ustawiona na Wartość Obraz.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  KindMap
                     {.ext} = Picture

Integracja z magazynem właściwości systemu Windows

Czasami te same właściwości metadanych są widoczne w różnych schematach metadanych, często z różnymi nazwami właściwości. Gdy jedna z tych właściwości zostanie zaktualizowana, ale inne nie, metadane w pliku mogą wyjść z synchronizacji. Procedura obsługi właściwości zdjęcia udostępnia domyślną IPropertyStore implementacji obrazów i jest używana przez aplikacje, a także przez galerię zdjęć systemu Windows i Eksploratora Windows, aby upewnić się, że wszystkie metadane na obrazie pozostają zsynchronizowane i że właściwości wyświetlane przez aplikacje są zgodne z tymi wyświetlanymi przez galerię zdjęć systemu Windows i Eksploratora Windows. Gdy program obsługi właściwości zdjęcia aktualizuje metadane, upewnia się, że te właściwości są stale aktualizowane we wszystkich typowych formatach metadanych, które znajdują się w pliku.

Procedura obsługi właściwości zdjęcia musi rozumieć format kontenera i jak zlokalizować w nim różne właściwości. Ogólnie rzecz biorąc, nie jest możliwe, aby program obsługi właściwości photo wiedział, jak różne bloki metadanych są rozmieszczone w zastrzeżonym formacie kontenera. Jeśli jednak metadane w formacie kontenera są określone w taki sam sposób, jak metadane w formacie kontenera TIFF lub w formacie kontenera JPEG, program obsługi właściwości zdjęć może wykorzystać tę wiedzę, aby spójnie aktualizować metadane w formacie kontenera.

To skojarzenie można zarejestrować, tworząc następujący wpis rejestru. Ten wpis powiadamia procedurę obsługi właściwości photo, że format kontenera zidentyfikowany przez ten identyfikator GUID rozumie te same ścieżki języka zapytań metadanych co format kontenera z identyfikatorem GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3. (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 jest identyfikatorem GUID formatu kontenera TIFF).

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  ContainerAssociations
                     {Container Format GUID} = {163bcc30-e2e9-4f0b-961d-a3e9fdb788a3}

Poniższy wpis kojarzy domyślną implementację programu obsługi właściwości photo IPropertyStore z plikami z rozszerzeniem ".ext". Pierwszy identyfikator GUID jest identyfikatorem IID interfejsu IPropertyStore, a drugi to identyfikator GUID implementacji programu obsługi właściwości zdjęcia.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PhotoPropertyHandler
                  {.ext}
                     (Default) = {a38b883c-1682-497e-97b0-0a3a9e801682}

Kodeci używające zastrzeżonego formatu, który nie jest zgodny z formatem kontenera TIFF lub JPEG, muszą napisać własny implementacji IPropertyStore.

Galeria zdjęć systemu Windows jest oparta na usłudze WIC i może wyświetlać dowolny format obrazu z obsługą funkcji WIC, dla którego jest zainstalowany koder koderowy. Aby powiadomić system, że format obrazu można otworzyć w galerii zdjęć systemu Windows, należy utworzyć skojarzenie plików, tworząc następujące wpisy rejestru.

HKEY_CLASSES_ROOT
   {.ext}
      (Default) = {ProgID} for example, jpegfile)
      OpenWithProgids
         {ProgID}
      OpenWithList
         PhotoViewer.dll
      ShellEx
         ContextMenuHandlers
            ShellImagePreview
               (Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
   SystemFileAssociations
      {.ext}
         OpenWithList
            PhotoViewer.dll
         ShellEx
            ContextMenuHandlers
               ShellImagePreview
                  (Default) = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
   {Image Format ProgID}
      (Default) = Name of Image Format
      DefaultIcon
         (Default) = Path to icon for type, icon index
      shell
         open
            MuiVerb = @%PROGRAMFILES%\Windows Photo Gallery\photoviewer.dll,-3043
            command
               (Default) = %SystemRoot%\System32\rundll32.exe "%ProgramFiles%\Windows Photo Gallery\PhotoViewer.dll", ImageView_Fullscreen %1
            DropTarget
               Clsid = {FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}
         printo
            command
               (Default) = %SystemRoot%\System32\rundll32.exe "%SystemRoot%\System32\shimgvw.dll", ImageView_PrintTo /pt "%1" "%2" "%3" "%4"

Identyfikator progID to zwykle rozszerzenie nazwy pliku dołączone ze słowem "file". (Jeśli na przykład rozszerzenie nazwy pliku jest .txt, identyfikator ProgID będzie zwykle mieć wartość "txtfile".

Istnieją inne standardowe wpisy rejestru, które mogą być konieczne do utworzenia w celu obsługi skojarzeń plików; jednak ze względu na to, że wartość y nie jest specyficzna dla WIC, wykracza poza zakres tego tematu.

Integracja z pamięcią podręczną miniatur systemu Windows

Następujące dwa wpisy wskazują, że standardowa implementacja dostawcy miniatur WIC może służyć do pobierania miniatur dla plików z tym rozszerzeniem. Pierwszy identyfikator GUID jest identyfikatorem IID interfejsu IThumbnailProvider , a drugi jest identyfikatorem GUID standardowej implementacji systemu tego interfejsu. (Wszystkie wpisy w folderze HKCR\.ext\ShellEx\ są powtarzane w folderze HKCR\SystemFileAssociations\.ext\ShellEx\).)

HKEY_CLASSES_ROOT
   SystemFileAssociations
      {.ext}
         ShellEx
            {e357fccd-a995-4576-b01f-234630154e96}
               (Default) = {C7657C4A-9F68-40fa-A4DF-96BC08EB3551}

koncepcyjne

Encoder-Specific wpisy rejestru

instalacji i rejestracji programu CODEC

Jak napisać WIC-Enabled CODEC

Składnik programu Windows Imaging — omówienie