Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento è organizzato come segue:
- Scegliere un metodo del verbo
- Estendere un menu di scelta rapida
- Supporto per i metodi verbali dal sistema operativo
- Argomenti correlati
Scegliere un metodo per il verbo
È consigliabile implementare un menu di scelta rapida usando uno dei metodi verbi statici.
Metodi verbi statici
I verbi statici sono i verbi più semplici da implementare, ma offrono comunque funzionalità avanzate. Scegli sempre il metodo di menu di scelta rapida più semplice che soddisfi le tue esigenze.
Verbo statico | Descrizione |
---|---|
CreateProcess con parametri della riga di comando | Questo è il mezzo più semplice e familiare per implementare un verbo statico. Un processo viene richiamato tramite una chiamata alla funzione CreateProcess con i file selezionati ed eventuali parametri facoltativi passati come riga di comando. Verrà aperto il file o la cartella. Questo metodo presenta le limitazioni seguenti:
|
DropTarget/IDropTarget | Un'attivazione di verbi basata su COM che supporta l'attivazione in-proc o out-of-proc. DropTarget/IDropTarget supporta anche il riutilizzo di un gestore già in esecuzione quando l'interfaccia IDropTarget viene implementata da un server locale. Esprime perfettamente anche gli elementi tramite l'oggetto dati sottoposto a marshalling e fornisce un riferimento alla catena di siti chiamante in modo da poter interagire con il invoker tramite QueryService. |
Windows 7 e versioni successive: IExecuteCommand | Metodo di implementazione più diretto. Poiché si tratta di un metodo invoke basato su COM (ad esempio DropTarget), questa interfaccia supporta l'attivazione in-proc e out-of-proc. Il verbo implementa IExecuteCommand e IObjectWithSelection e facoltativamente IInitializeCommand. Gli elementi vengono passati direttamente come matrice di elementi della shell e altri parametri del invoker sono disponibili per l'implementazione del verbo, inclusi il punto invoke, lo stato della tastiera e così via. |
Windows 7 e versioni successive:ExplorerCommand/ IExplorerCommand | Abilita le fonti di dati che forniscono i comandi del modulo tramite IExplorerCommandProvider per usare tali comandi come azioni in un menu di scelta rapida. Poiché questa interfaccia supporta solo l'attivazione in-process, è consigliabile usare origini dati shell che devono condividere l'implementazione tra comandi e menu di scelta rapida. |
Nota
IExplorerCommand è un ibrido tra un verbo statico e dinamico. IExplorerCommand è stato dichiarato in Windows Vista, ma la sua capacità di implementare un verbo in un menu di scelta rapida è una novità di Windows 7.
Per ulteriori informazioni su IDropTarget e sulle query di Shell per gli attributi di associazione di file, vedere Tipi percepiti e registrazione delle applicazioni.
Metodi preferiti per verbi dinamici
Sono preferibili i metodi verbi dinamici seguenti:
Tipo verbo | Descrizione |
---|---|
Verbo statico (elencato nella tabella precedente) + Sintassi di query avanzata (AQS) | Questa opzione rende visibile il verbo dinamico. |
Windows 7 e versioni successive: IExplorerCommand | Questa scelta consente un'implementazione comune di verbi e comandi Explorer che vengono visualizzati nel modulo dei comandi in Esplora risorse. |
Windows 7 e versioni successive: IExplorerCommandState + verbo statico | Questa scelta ottiene anche la visibilità dei verbi dinamici. Si tratta di un modello ibrido in cui viene usato un semplice gestore in-process per calcolare se deve essere visualizzato un verbo statico specificato. Questa operazione può essere applicata a tutti i metodi di implementazione dei verbi statici per ottenere un comportamento dinamico e ridurre al minimo l'esposizione della logica in-process. IExplorerCommandState ha il vantaggio di essere in esecuzione su un thread in background, evitando così blocchi dell'interfaccia utente. È notevolmente più semplice di IContextMenu. |
Metodi dinamici dei verbi sconsigliati
IContextMenu è il metodo più potente ma anche il metodo più complicato da implementare. Si basa su oggetti COM in-process eseguiti sul thread del chiamante, che di solito è Esplora Risorse ma che può essere qualsiasi applicazione che ospita gli elementi. IContextMenu supporta la visibilità dei verbi, l'ordinamento e il disegno personalizzato. Alcune di queste funzionalità sono state aggiunte alle funzionalità dei verbi statici, ad esempio un'icona da associare a un comando e IExplorerCommand per gestire la visibilità.
Se è necessario estendere il menu di scelta rapida per un tipo di file registrando un verbo dinamico per il tipo di file, seguire le istruzioni fornite in Personalizzazione di un menu di scelta rapida tramite verbi dinamici.
Estendere un menu di scelta rapida
Dopo aver scelto un metodo verbo, è possibile estendere un menu di scelta rapida per un tipo di file registrando un verbo statico per il tipo di file. Per altre informazioni, vedere Creazione di gestori dei menu contestuali.
Supporto per i metodi verbi in base al sistema operativo
Il supporto per i metodi di invocazione dei verbi per sistema operativo è elencato nella tabella seguente.
Metodo verbale | Windows XP | Windows Vista | Windows 7 e versioni successive |
---|---|---|---|
CreaProcesso | X | X | X |
DDE | X | X | X |
DropTarget | X | X | X |
EseguiComando | X | X | |
Comando di esplorazione | X | ||
ExplorerCommandState | X |
Argomenti correlati
-
Procedure consigliate per i gestori del menu contestuale e i verbi di selezione multipla
-
Personalizzazione di un menu di scelta rapida tramite verbi dinamici
-
Menu contestuali di scelta rapida e gestori di menu contestuali di scelta rapida