Delen via


Werkwoorden en bestandskoppelingen

Wanneer een gebruiker met de rechtermuisknop op een Shell-object klikt, zoals een bestand, geeft de Shell een snelmenu (contextmenu) weer. Dit menu bevat een lijst met opdrachten die de gebruiker kan selecteren om verschillende acties op het item uit te voeren. Deze opdrachten worden ook wel snelmenu-items of werkwoorden genoemd. Snelmenu's kunnen worden aangepast.

Dit onderwerp is als volgt ingedeeld:

Inleiding tot snelmenu's voor bestandssysteemobjecten

Omdat snelmenu's vaak worden gebruikt voor bestandsbeheer, biedt de Shell een set standaardopdrachten, zoals Knippen en Kopiëren, die worden weergegeven in het snelmenu voor elk bestandssysteemobject, zoals een bestand of map.

In het volgende voorbeeld ziet u een standaardsnelmenu dat wordt weergegeven door met de rechtermuisknop op MyFile.xyz-mste klikken.

schermafbeelding van het standaardsnelmenu

De reden dat er een standaardsnelmenu wordt weergegeven voor MyFile.xyz-ms is te wijten aan het feit dat .xyz-ms geen lid is van een geregistreerd bestandstype. Daarentegen is .txt een geregistreerd bestandstype. Als u met de rechtermuisknop op een .txt bestand klikt, ziet u een snelmenu met drie extra opdrachten in het bovenste gedeelte: Afdrukken, Bewerken en Openen met.

schermafbeelding van het snelmenu voor een bestand met een geregistreerd bestandstype

Als u het snelmenu voor een bestandstype wilt uitbreiden, moet u voor elke opdracht een registervermelding maken. Een geavanceerdere benadering is het implementeren van een handler voor een snelmenu (werkwoord), waarmee u het snelmenu voor een bestandstype kunt uitbreiden op basis van een bestand per bestand. Zie Contextmenu-handlers makenen contextmenureferentiesvoor meer informatie.

Opdrachten toevoegen aan een snelmenu

Een snelmenuhandler is een handler voor bestandstypen waarmee opdrachten worden toegevoegd aan een bestaand snelmenu. Snelmenuhandlers zijn gekoppeld aan een bestandstype en worden aangeroepen wanneer een snelmenu wordt weergegeven voor een lid van de klasse. De Shell controleert het register om te zien of het bestandstype is gekoppeld aan eventuele handlers voor snelmenu's. Als dat zo is, voert Shell een query uit op de handlers voor aanvullende snelmenu-items.

Snelmenuopdrachten

Elke opdracht in het snelmenu wordt in het register aangeduid met het werkwoord. Deze werkwoorden zijn hetzelfde als die worden gebruikt door ShellExecuteEx bij het programmatisch starten van toepassingen.

Een werkwoord is een eenvoudige tekenreeks die door de Shell wordt gebruikt om de bijbehorende opdracht te identificeren. Elke bewerking komt overeen met de opdrachtreeks die wordt gebruikt om de opdracht in een consolevenster of batchbestand (.bat) te starten.

Met het geopende werkwoord wordt bijvoorbeeld normaal gesproken een programma gestart om een bestand te openen. De opdrachtreeks ziet er doorgaans als volgt uit:

"My Program.exe" "%1"

Als een element van de opdrachtreeks spaties bevat of bevat, moet het tussen aanhalingstekens staan. Als het element anders een spatie bevat, wordt het niet correct geparseerd. Bijvoorbeeld 'Mijn Program.exe' de toepassing correct start. Als u Mijn Program.exe zonder aanhalingstekens gebruikt, probeert het systeem Mijn te starten met Program.exe als het eerste opdrachtregelargument. Gebruik altijd aanhalingstekens met argumenten zoals "%1" die zijn uitgebreid naar tekenreeksen door de Shell, omdat u niet zeker weet dat de tekenreeks geen spatie bevat.

Aan werkwoorden kan ook een weergavenaam zijn gekoppeld, die wordt weergegeven in het snelmenu in plaats van de werkwoordreeks zelf. De weergavetekenreeks voor openas is bijvoorbeeld Openen met. Net als normale menutekenreeksen, met inbegrip van een ampersand-teken in de weergavetekenreeks, kan de toetsenbordselectie van de opdracht worden toegestaan.

Niet-bestandssysteemitems en OpenSearch-resultaten streamen.

In Windows 7 en hoger is er ondersteuning voor de verbinding van externe bronnen met de Windows-client via het protocol OpenSearch. Hiermee kunnen gebruikers zoeken in een extern gegevensarchief en resultaten bekijken vanuit Windows Verkenner. De OpenSearch v1.1-standaard definieert eenvoudige bestandsindelingen die kunnen worden gebruikt om te beschrijven hoe een client een query moet uitvoeren op de webservice voor het gegevensarchief en hoe de service resultaten moet retourneren die door de client moeten worden weergegeven.

Mogelijk moet u niet-bestandssysteemitems streamen om te voorkomen dat u items moet downloaden in het geval van OpenSearch resultaten. Met de federatieve zoekfunctie kunt u zoeken naar items van niet-bestandssysteemlocaties die ondersteuning bieden voor OpenSearch, zoals SharePoint en andere websites die door webservices worden ondersteund, bijvoorbeeld. Wanneer u werkwoorden op deze items aanroept, downloadt het systeem een tijdelijke versie van het item en geeft dit door aan de implementatie van de werkwoorden. Werkwoord implementeerfuncties worden aangemoedigd om te voorkomen dat u het bestand hoeft te downloaden door de set URL-schema's te registreren die door het werkwoord worden ondersteund om de items te streamen. Werkwoorden doen dit met behulp van de SupportedProtocols registersleutel.

Een toepassing registreren voor het afhandelen van willekeurige bestandstypen

Als u snelmenu-items voor een bepaald bestandstype definieert, kunt u opgeven hoe de bijbehorende toepassing een lid van het bestandstype opent. Toepassingen kunnen echter ook een afzonderlijke standaardprocedure registreren die moet worden gebruikt wanneer een gebruiker probeert de toepassing te gebruiken om een bestandstype te openen dat niet aan de toepassing is gekoppeld. U registreert de standaardprocedure op ongeveer dezelfde manier als het registreren van snelmenu-items. Zie Contextmenu-handlers makenvoor meer informatie over het definiëren van snelmenu-items.

De standaardprocedure heeft twee basisdoeleinden. U kunt opgeven hoe uw toepassing moet worden aangeroepen om een willekeurig bestandstype te openen. U kunt bijvoorbeeld een opdrachtregelvlag gebruiken om aan te geven dat een onbekend bestandstype wordt geopend. Het andere doel is om de verschillende kenmerken van een bestandstype te definiëren, zoals de snelmenu-items en het pictogram. Als een gebruiker uw toepassing koppelt aan een extra bestandstype, heeft die klasse deze kenmerken. Als het extra bestandstype eerder aan een andere toepassing is gekoppeld, worden de oorspronkelijke kenmerken vervangen.

Als u de standaardprocedure wilt registreren, plaatst u dezelfde registersleutels die u hebt gemaakt voor de ProgID van uw toepassing onder de subsleutel van de toepassing van HKEY_CLASSES_ROOT\Applications. U kunt ook een FriendlyAppName--waarde opnemen om het systeem een beschrijvende naam voor uw toepassing te geven. De beschrijvende naam van de toepassing kan ook worden geëxtraheerd uit het uitvoerbare bestand, maar alleen als de waarde FriendlyAppName afwezig is.

De volgende voorbeeldregistervermelding illustreert een standaardprocedure voor MyProgram.exe waarmee een beschrijvende naam en verschillende snelmenu-items worden gedefinieerd. De opdrachtreeksen bevatten de vlag /a om de toepassing op de hoogte te stellen dat er een willekeurig bestandstype wordt geopend. Als u een DefaultIcon subsleutel opneemt, moet u een algemeen pictogram gebruiken.

HKEY_CLASSES_ROOT
   MyProgram.exe
      shell
         open
            command
               (Default) = C:\MyDir\MyProgram.exe /a "%1"
         print
            command
               (Default) = C:\MyDir\MyProgram.exe /a /p "%1"
         printto
            command
               (Default) = C:\MyDir\MyProgram.exe /a /p "%1" "%2"

Aanvullende informatiebronnen

Aanbevolen procedures voor snelmenuhandlers en meerdere selectiewerkwoorden

een statisch of dynamisch werkwoord kiezen voor het snelmenu

Snelkoppelingsmenuhandlers maken

een snelmenu aanpassen met dynamische werkwoorden

contextmenu's en snelmenu-handlers

snelmenu