Freigeben über


Miniaturansichtshandler

Windows Vista nutzt dateispezifische Miniaturbilder besser als frühere Versionen von Windows. Windows Vista verwendet sie in allen Ansichten, in Dialogfeldern und für jeden Dateityp, der sie bereitstellt. Auch andere Anwendungen können Ihre Miniaturansicht nutzen. Die Miniaturansicht wurde ebenfalls geändert. Jetzt ist ein kontinuierliches Spektrum von vom Benutzer auswählbaren Größen anstelle der diskreten Größen verfügbar, z. B. Symbole und Miniaturansichten, die in Windows XP bereitgestellt werden.

Anmerkung

Möglicherweise hören Sie diese Miniaturansichten, die als Livesymbole bezeichnet werden.

 

Miniaturansichten der 32-Bit-Auflösung und so groß wie 256 x 256 Pixel werden häufig in der Windows Vista-Benutzeroberfläche verwendet. Dateiformatbesitzer sollten darauf vorbereitet sein, ihre Miniaturansichten in dieser Größe anzuzeigen. Sie sollten auch nicht statische Bilder für ihre Miniaturansichten bereitstellen, die den Inhalt der jeweiligen Datei widerspiegeln. Die Miniaturansicht einer Textdatei sollte z. B. eine Miniaturversion des Dokuments einschließlich des zugehörigen Texts anzeigen.

Die IThumbnailProvider Schnittstelle wurde eingeführt, um eine Miniaturansicht einfacher und einfacher bereitzustellen als in der Vergangenheit, wenn IExtractImage- stattdessen verwendet worden wäre. Beachten Sie, dass vorhandener Code, der IExtractImage- verwendet, unter Windows Vista weiterhin gültig ist. IExtractImage- wird jedoch im Bereich Details nicht unterstützt.

In diesem Thema wird Folgendes erläutert:

Miniaturansichtsprozesse

Handler, einschließlich Miniaturansichthandler, werden standardmäßig in einem separaten Prozess ausgeführt. Sie können erzwingen, dass der Handler im Prozess ausgeführt wird, indem Sie einen NULL- Wert als Bindungskontext in einem Aufruf von IShellItem::BindToHandler übergeben, wie hier gezeigt:

IShellItem::BindToHandler(NULL, BHID_ThumbnailHandler,..)

Sie können die Ausführung des Prozesses standardmäßig deaktivieren, indem Sie den DisableProcessIsolation-Eintrag in der Registrierung festlegen, wie in diesem Beispiel gezeigt. Der Klassenbezeichner (CLSID) {E357FCCD-A995-4576-B01F-234630154E96} ist die CLSID für IThumbnailProvider Implementierungen.

HKEY_CLASSES_ROOT
   CLSID
      {E357FCCD-A995-4576-B01F-234630154E96}
         DisableProcessIsolation = 1

Miniaturansichtencache und Größenanpassung

Wenn eine Miniaturansicht erforderlich ist, überprüft Windows zuerst den Miniaturansichtscache für das Bild. Der Miniaturansichtsextraktionsmodul wird aufgerufen, wenn das Bild nicht im Cache gefunden wird. Sie wird auch aufgerufen, wenn die uhrzeit der letzten Änderung des Bilds später als die der Kopie im Cache ist.

Die Miniaturansichten in diesem Cache werden in einer Reihe von separaten Größen gespeichert. Alle Größen werden in Pixel angegeben.

  • 32 x 32
  • 96x96
  • 256 x 256
  • 1024 x 1024

Anmerkung

Diese Werte können geändert werden. Sie sollten nicht davon ausgehen, dass immer eine bestimmte Größe verwendet wird.

 

Wenn ein Bild nicht quadratisch ist, sollten Sie es nicht selbst auffüllen. Windows ist dafür verantwortlich, das ursprüngliche Seitenverhältnis zu respektieren und das Bild auf eine quadratische Größe zu auffüllen.

Wenn ein Bild einer bestimmten Größe angefordert wird, sofern keine genaue Übereinstimmung gefunden wird, ruft Windows Vista immer das nächste größte Bild ab und skaliert es auf die angeforderte Größe. Ein Bild wird nie vergrößert, wie es in früheren Versionen von Windows der Fall war.

Die folgende Tabelle enthält einige Beispiele für die Beziehung zwischen angeforderter Größe und verfügbarer Größe.

Maximale Bildgröße, die Sie bereitstellen Vom Extraktor angeforderte Größe Sie stellen folgendes bereit:
156 x 120 256 x 256 156 x 120 (Nicht pad, Seitenverhältnis beibehalten)
2048x1024 256 x 256 256x128 (Nicht pad, Seitenverhältnis beibehalten)

 

Sie können einen Cutoff-Punkt als Teil des Programm-ID-Eintrags der zugehörigen App in der Registrierung deklarieren. Unter dieser Größe werden Miniaturansichten nicht verwendet.

HKEY_CLASSES_ROOT
   .{ProgId}
      ThumbnailCutoff

Der Eintrag "ThumbnailCutoff" ist einer der folgenden REG_DWORD Werte.

Wert Abkürzung HighDPI Sensitive
0 32 x 32 Ja
1 16 x 16 Ja
2 48 x 48 Ja
3 16 x 16 Ja

Hohe Dpi-Empfindlichkeit (Dots per Inch) bedeutet, dass die Pixelabmessungen der Miniaturansicht automatisch an den größeren DPI-Wert angepasst werden. Beispielsweise wäre ein 32x32-Bild mit 96 DPI ein Bild von 40 x 40 bei 120 DPI.

Wenn der ThumbnailCutoff-Eintrag nicht angegeben ist, ist der Standardtrennwert 20x20 (nicht dpi-vertraulich).

Miniaturansichtsüberlagerungen

Miniaturansichtenüberlagerungen, ein kleines Bild, das über der unteren rechten Ecke der Miniaturansicht angezeigt wird, bieten Entwicklern die Möglichkeit, markenidentifikation auf ihre Miniaturansichten anzuwenden. Überlagerungen werden in der Registrierung als Teil des Programm-ID-Eintrags der zugehörigen App deklariert, wie hier gezeigt:

HKEY_CLASSES_ROOT
   .{ProgId}
      TypeOverlay

Der TypeOverlay-Eintrag enthält einen REG_SZ Wert, der wie folgt interpretiert wird:

  • Wenn der Wert ein Ressourcenverweis (eine in die DLL eingebettete .ico Datei) ist, z. B. ISVComponent.dll,-155, wird dieses Bild als Überlagerung für Dateien mit dieser Dateinamenerweiterung verwendet. Beachten Sie, dass in diesem Beispiel 155 die Ressourcen-ID ist und wenn die DLL nicht in einem Standardpfad (z. B. C:/Windows/System32) vorhanden ist, ist der vollständige Pfad anstelle des DLL-Namens erforderlich.
  • Wenn der Wert eine leere Zeichenfolge ist, wird keine Überlagerung auf das Bild angewendet.
  • Wenn der Wert nicht vorhanden ist, wird das Standardsymbol der zugeordneten Anwendung verwendet.

Überlagerungen für Ihre Miniaturansichten sollten nur über diesen Mechanismus bereitgestellt und von Windows angewendet werden. Überlagerungen selbst nicht anwenden.

Miniaturansichts-Schmücken

Schmücken wie Schlagschatten werden auf Miniaturansichten basierend auf dem aktuell ausgewählten Design des Benutzers angewendet. Schmücken werden von Windows bereitgestellt; erstellen Sie sie nicht selbst. Windows könnte das Erscheinungsbild bestimmter Schmücken jederzeit ändern. Wenn Sie also ihren Eigenen angegeben haben, riskieren Sie, dass sie nicht mehr mit dem System synchronisiert werden. Ihre Miniaturansichten könnten veraltet oder nicht mehr vorhanden sein.

Potenzielle Schmücken werden in der Registrierung als Teil des Programm-ID-Eintrags der zugehörigen App deklariert, wie hier gezeigt:

HKEY_CLASSES_ROOT
   .{ProgId}
      Treatment

Der Eintrag "Behandlung" enthält einen der folgenden REG_DWORD Werte:

Wert Bedeutung
0 Keine Schmücken
1 Schlagschatten
2 Fotorahmen
3 Video Sprockets

Standardmäßig wird ein Schlagschatten auf Bilder angewendet.

Registrieren des Miniaturansichtshandlers

Die Registrierung eines Miniaturansichtshandlers basiert auf Standarddateizuordnungen.

Die GUID für die Shellerweiterung für miniaturansichten Handler ist E357FCCD-A995-4576-B01F-234630154E96.

IThumbnailProvider

Erstellen von Miniaturansichtshandlern

Richtlinien für Miniaturansichtshandler