Werken met Shell-extensies
De mogelijkheden van de Shell kunnen worden uitgebreid met registervermeldingen en .ini bestanden. Hoewel deze benadering voor het uitbreiden van de Shell eenvoudig is en voldoende is voor veel doeleinden, is dit beperkt. Als u bijvoorbeeld het register gebruikt om een aangepast pictogram voor een bestandstype op te geven, wordt hetzelfde pictogram weergegeven voor elk bestand van dat type. Als u de Shell met het register uitbreidt, kunt u het pictogram voor verschillende leden van het bestandstype niet variëren. Andere aspecten van de Shell, zoals het Eigenschappen eigenschappenvenster dat kan worden weergegeven wanneer er met de rechtermuisknop op een bestand wordt geklikt, kan helemaal niet worden gewijzigd met het register.
Een krachtigere en flexibele benadering voor het uitbreiden van de Shell is het implementeren van shell-extensiehandlers. Deze handlers kunnen worden geïmplementeerd voor verschillende acties die de Shell kan uitvoeren. Voordat u de actie uitvoert, voert de Shell een query uit op de extensie-handler, zodat deze de mogelijkheid heeft om de actie te wijzigen. Een veelvoorkomend voorbeeld is een handler voor snelmenu-extensies. Als er een is geïmplementeerd voor een bestandstype, wordt er elke keer een query uitgevoerd wanneer een van de bestanden met de rechtermuisknop wordt geklikt. De handler kan vervolgens extra menu-items opgeven op basis van een bestand per bestand, in plaats van dezelfde set te hebben voor alle bestanden van dat bestandstype.
In deze reeks onderwerpen wordt beschreven hoe u de extensie-handlers implementeert waarmee u verschillende Shell-acties kunt wijzigen. De volgende handlers zijn gekoppeld aan een specifiek bestandstype en stellen u in staat per bestand op te geven.
Handler | Beschrijving |
---|---|
snelmenuverwerker | Aangeroepen voordat het snelmenu van een bestand wordt weergegeven. Hiermee kunt u items toevoegen aan het snelmenu op basis van een bestand per bestand. |
gegevenshandler | Aangeroepen wanneer een slepen-en-neerzetten-bewerking wordt uitgevoerd op Shell-objecten. Hiermee kunt u extra klembordindelingen aanbieden voor het neerzetdoel. |
drop handler | Aangeroepen wanneer een gegevensobject over een bestand wordt gesleept of op een bestand wordt neergezet. Hiermee kunt u een bestand tot een sleepdoel instellen. |
icoonbeheerder | Aangeroepen voordat het pictogram van een bestand wordt weergegeven. Hiermee kunt u het standaardpictogram van het bestand vervangen door een aangepast pictogram op bestandsbasis. |
handler voor eigenschappenblad | Aangeroepen vóór de eigenschappen van een object eigenschappenvenster wordt weergegeven. Hiermee kunt u pagina's toevoegen of vervangen. |
miniatuurafbeeldingenbeheerder | Biedt een afbeelding die het item vertegenwoordigt. |
Infotip-handler | Hiermee wordt pop-uptekst weergegeven wanneer de gebruiker de muisaanwijzer boven het object houdt. |
metagegevenshandler | Biedt lees- en schrijftoegang tot metagegevens (eigenschappen) die zijn opgeslagen in een bestand. Dit kan worden gebruikt om de detailweergave, infotips, de eigenschappenpagina en groeperingsfuncties uit te breiden. |
Andere zijn niet gekoppeld aan een bepaald bestandstype, maar worden aangeroepen vóór sommige Shell-bewerkingen.
Verwerker | Beschrijving |
---|---|
kolombeheerder | Windows Verkenner roept deze functie aan voordat het de Details-weergave van een map toont. Hiermee kunt u aangepaste kolommen toevoegen aan de weergave Details. |
Hook handler kopiëren | Wordt aangeroepen wanneer een map of printerobject op het punt staat te worden verplaatst, gekopieerd, verwijderd of hernoemd. Hiermee kunt u de bewerking goedkeuren of vetoeren. |
Slepen-en-neerzetten handler | Wordt aangeroepen wanneer een bestand met de rechtermuisknop wordt gesleept. Hiermee kunt u het snelmenu wijzigen dat wordt weergegeven. |
Pictogram-overlaybeheerder | Aangeroepen voordat het pictogram van een bestand wordt weergegeven. Hiermee kunt u een overlay opgeven voor het pictogram van het bestand. |
zoekverwerker | Wordt aangeroepen om een zoekmachine te starten. Hiermee kunt u een aangepaste zoekmachine implementeren die toegankelijk is vanuit het menu Start of Windows Verkenner. |
De details over het implementeren van specifieke extensie-handlers worden behandeld in de bovenstaande secties. Zie de volgende onderwerpen voor discussies over implementatieproblemen die gebruikelijk zijn voor alle Shell-extensie-handlers: