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) |