Dela via


Integrering med Windows Fotogalleri och Utforskaren

Det här avsnittet gäller för Windows Vista och senare. Den innehåller följande avsnitt:

Införandet

För att windows fotogalleri och Utforskaren ska kunna visa miniatyrbilder och söka efter och uppdatera standardbildmetadata måste en codec ha en implementering av IThumbnailProvider och IPropertyStore gränssnitt som är associerade med den. Gränssnittet IThumbnailProvider används för att hämta miniatyrbilder och fylla i miniatyrcachen, och IPropertyStore-gränssnittet används för att söka efter och uppdatera metadata som är associerade med en fil. Från och med Windows Vista har alla filtyper miniatyrbilder och metadata, men olika filtyper kräver olika implementeringar av dessa gränssnitt för att hämta eller generera miniatyrbilder och metadata för dem. Systemet tillhandahåller standardimplementeringar av dessa gränssnitt. Standardimplementeringen av IThumbnailProvider kan användas för valfritt Windows Imaging Component (WIC)-aktiverat bildformat. Standardimplementeringen av IPropertyStore kan användas med valfritt WIC-aktiverat bildformat som baseras på en TIFF-container (Tagged Image File Format) eller JPEG-container. Om du vill associera avbildningsformatet med standardimplementeringarna för båda dessa gränssnitt måste du bara lägga till några registerposter.

Följande poster anger för Windows Fotogalleri och Utforskaren att ett filnamnstillägg (.ext) och dess associerade MIME-typ är associerade med ett bildformat.

Följande post anger för Windows och program som använder innehållstyp (kallas även mime-typ) att en fil med ett visst tillägg (.ext) är ett bildformat. Filtypsägaren måste välja en <image sub type value> som unikt identifierar filformatet och det här innehållstypsvärdet måste registreras med IANA.

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

Följande post anger för Windows, Windows-sökning och program som använder System.Kind att ett filnamnstillägg (.ext) ska behandlas som en bild. Mer specifikt anger det att filnamnstilläggets System.Kind-egenskap ska vara inställd på Bild.

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

Integrering med Windows Property Store

Ibland exponeras samma metadataegenskaper i olika metadatascheman, ofta med olika egenskapsnamn. När en av dessa egenskaper uppdateras, men de andra inte är det, kan metadata i filen bli osynkroniserade. Fotoegenskapshanteraren tillhandahåller standard-IPropertyStore implementering för bilder och används av program samt av Windows Fotogalleri och Utforskaren för att säkerställa att alla metadata i en bild förblir synkroniserade och att egenskaperna som visas av program överensstämmer med dem som visas av Windows Fotogalleri och Utforskaren. När fotoegenskapshanteraren uppdaterar metadata ser den till att dessa egenskaper uppdateras konsekvent i alla vanliga metadataformat som finns i filen.

Fotoegenskapshanteraren måste förstå containerformatet och hur du hittar de olika egenskaperna i det. I allmänhet är det inte möjligt för fotoegenskapshanteraren att veta hur de olika metadatablocken beskrivs i ett egenutvecklat containerformat. Men om metadata i containerformatet anges på samma sätt som metadata i antingen ett TIFF-containerformat eller ett JPEG-containerformat, kan fotoegenskapshanteraren också dra nytta av den kunskapen för att uppdatera metadata konsekvent i containerformatet.

Du kan registrera den här associationen genom att skapa följande registerpost. Den här posten meddelar fotoegenskapshanteraren att containerformatet som identifieras av detta GUID förstår samma sökvägar för metadatafrågespråk som containerformatet med GUID 163bcc30-e2e9-4f0b-961d-a3e9fdb788a3. (163bcc30-e2e9-4f0b-961d-a3e9fdb788a3 är GUID för TIFF-containerformatet.)

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

Följande post associerar fotoegenskapshanterarens standardimplementering av IPropertyStore med filer som har tillägget ".ext". Det första GUID:t är IID för IPropertyStore-gränssnittet, och det andra är GUID för fotoegenskapshanterarens implementering av det.

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

Codecs som använder ett proprietärt format som inte är kompatibelt med TIFF- eller JPEG-containerformatet måste skriva sina egna IPropertyStore implementering.

Windows Fotogalleri bygger på WIC och kan visa valfritt WIC-aktiverat bildformat som codec är installerat för. Om du vill meddela systemet att avbildningsformatet kan öppnas i Windows Fotogalleri måste du skapa en filassociation genom att skapa följande registerposter.

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"

ProgID är vanligtvis filnamnstillägget som läggs till med ordet "fil". (Om filnamnstillägget till exempel är .txtär ProgID vanligtvis "txtfile".)

Det finns andra standardregisterposter som du kan behöva skapa för att stödja filassociationer. men eftersom'y inte är specifika för WIC, ligger de utanför omfånget för det här ämnet.

Integrering med Windows Thumbnail Cache

Följande två poster anger att standardimplementeringen av WIC-miniatyrprovidern kan användas för att hämta miniatyrbilder för filer med det här tillägget. Det första GUID:t är IID för IThumbnailProvider--gränssnittet, och det andra är GUID för standardsystemimplementeringen av det här gränssnittet. (Alla poster under HKCR\.ext\ShellEx\ upprepas under HKCR\SystemFileAssociations\.ext\ShellEx\.)

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

konceptuell

Encoder-Specific registerposter

CODEC-

Så här skriver du en WIC-Enabled CODEC-

Översikt över Windows Imaging-komponenten