Condividi tramite


Struttura CMINVOKECOMMANDINFO (shobjidl_core.h)

Contiene informazioni necessarie per IContextMenu::InvokeCommand per richiamare un comando di menu di scelta rapida.

Sintassi

typedef struct _CMINVOKECOMMANDINFO {
  DWORD  cbSize;
  DWORD  fMask;
  HWND   hwnd;
  LPCSTR lpVerb;
  LPCSTR lpParameters;
  LPCSTR lpDirectory;
  int    nShow;
  DWORD  dwHotKey;
  HANDLE hIcon;
} CMINVOKECOMMANDINFO;

Members

cbSize

Tipo: DWORD

Dimensioni di questa struttura, in byte.

fMask

Tipo: DWORD

Zero o uno o più flag seguenti.

CMIC_MASK_HOTKEY

Il membro dwHotKey è valido.

CMIC_MASK_ICON

Il membro hIcon è valido. A partire da Windows Vista questo flag non viene usato.

CMIC_MASK_FLAG_NO_UI

Il sistema non consente di visualizzare gli elementi dell'interfaccia utente,ad esempio messaggi di errore, durante l'esecuzione di un comando.

CMIC_MASK_NO_CONSOLE

Se un gestore di menu di scelta rapida deve creare un nuovo processo, in genere creerà una nuova console. L'impostazione del flag di CMIC_MASK_NO_CONSOLE elimina la creazione di una nuova console.

CMIC_MASK_FLAG_SEP_VDM

Questo flag è valido solo quando si fa riferimento a un'applicazione basata su Windows a 16 bit. Se impostato, l'applicazione a cui punta il collegamento da eseguire in una macchina virtuale virtuale privata (VDM). Vedere la sezione Osservazioni.

CMIC_MASK_ASYNCOK

Attendere che la conversazione DDE venga terminata prima della restituzione.

CMIC_MASK_NOASYNC

Windows Vista e versioni successive. L'implementazione di IContextMenu::InvokeCommand deve essere sincrona, non restituita prima del completamento. Poiché è consigliabile, la chiamata di applicazioni che specificano questo flag non può garantire che questa richiesta venga rispettata se non hanno familiarità con l'implementazione del verbo che richiamano.

CMIC_MASK_SHIFT_DOWN

Il tasto MAIUSC viene premuto. Usare questa opzione anziché eseguire il polling dello stato corrente della tastiera che potrebbe essere stata modificata dopo che il verbo è stato richiamato.

CMIC_MASK_CONTROL_DOWN

Il tasto CTRL viene premuto. Usare questa opzione anziché eseguire il polling dello stato corrente della tastiera che potrebbe essere stata modificata dopo che il verbo è stato richiamato.

CMIC_MASK_FLAG_LOG_USAGE

Indica che l'implementazione di IContextMenu::InvokeCommand potrebbe voler tenere traccia dell'elemento richiamato per le funzionalità come il menu "Documenti recenti".

CMIC_MASK_NOZONECHECKS

Non eseguire un controllo della zona. Questo flag consente a ShellExecuteEx di ignorare il controllo della zona inserito da IAttachmentExecute.

hwnd

Tipo: HWND

Handle alla finestra che è il proprietario del menu di scelta rapida. Un'estensione può anche usare questo handle come proprietario di qualsiasi finestra di messaggio o finestre di dialogo visualizzata.

lpVerb

Tipo: LPCSTR

Indirizzo di una stringa con terminazione null che specifica il nome indipendente dal linguaggio del comando da eseguire. Questo membro è in genere una stringa quando un comando viene attivato da un'applicazione. Il sistema fornisce valori costanti predefiniti per le stringhe di comando seguenti.

Costante Stringa di comando
CMDSTR_RUNAS "RunAs"
CMDSTR_PRINT "Stampa"
CMDSTR_PREVIEW "Anteprima"
CMDSTR_OPEN "Apri"
 

Non si tratta di un set fisso; I nuovi verbi canonici possono essere inventati dai gestori di menu di scelta rapida e dalle applicazioni possono richiamarli.

Se esiste un verbo canonico e un gestore di menu non implementa il verbo canonico, deve restituire un codice di errore per consentire al gestore successivo di essere in grado di gestire questo verbo. Se non si esegue questa operazione, la funzionalità verrà interrotta nel sistema, incluso ShellExecute.

In alternativa, anziché un puntatore, questo parametro può essere MAKEINTRESOURCE(offset) in cui offset è l'offset dell'identificatore del menu del comando da eseguire. Le implementazioni possono usare la macro IS_INTRESOURCE per rilevare che questa alternativa viene usata. Shell usa questa alternativa quando l'utente sceglie un comando di menu.

lpParameters

Tipo: LPCSTR

Stringa facoltativa contenente parametri passati al comando. Il formato di questa stringa è determinato dal comando che deve essere richiamato. Questo membro è sempre NULL per le voci di menu inserite da un'estensione shell.

lpDirectory

Tipo: LPCSTR

Nome facoltativo della directory di lavoro. Questo membro è sempre NULL per le voci di menu inserite da un'estensione shell.

nShow

Tipo: int

Set di valori SW_ da passare alla funzione ShowWindow se il comando visualizza una finestra o avvia un'applicazione.

dwHotKey

Tipo: DWORD

Scelta rapida da tastiera facoltativa da assegnare a qualsiasi applicazione attivata dal comando. Se il parametro fMask non specifica CMIC_MASK_HOTKEY, questo membro viene ignorato.

hIcon

Tipo: HANDLE

Icona da usare per qualsiasi applicazione attivata dal comando. Se il membro fMask non specifica CMIC_MASK_ICON, questo membro viene ignorato.

Commenti

Anche se la dichiarazione IContextMenu::InvokeCommand specifica una struttura CMINVOKECOMMANDINFO per il parametro pici , può anche accettare una struttura CMINVOKECOMMANDINFOEX . Se si implementa questo metodo, è necessario controllare cbSize per determinare quale struttura è stata passata.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione shobjidl_core.h (include Shobjidl.h)