Struktur CMINVOKECOMMANDINFO (shobjidl_core.h)

Berisi informasi yang diperlukan oleh IContextMenu::InvokeCommand untuk memanggil perintah menu pintasan.

Sintaks

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

Anggota

cbSize

Jenis: DWORD

Ukuran struktur ini, dalam byte.

fMask

Jenis: DWORD

Nol, atau satu atau beberapa bendera berikut.

CMIC_MASK_HOTKEY

Anggota dwHotKey valid.

CMIC_MASK_ICON

Anggota hIcon valid. Pada Windows Vista, bendera ini tidak digunakan.

CMIC_MASK_FLAG_NO_UI

Sistem dicegah untuk menampilkan elemen antarmuka pengguna (misalnya, pesan kesalahan) saat melakukan perintah.

CMIC_MASK_NO_CONSOLE

Jika penangan menu pintasan perlu membuat proses baru, biasanya akan membuat konsol baru. Mengatur bendera CMIC_MASK_NO_CONSOLE menekan pembuatan konsol baru.

CMIC_MASK_FLAG_SEP_VDM

Bendera ini hanya valid jika mengacu pada aplikasi berbasis Windows 16-bit. Jika diatur, aplikasi yang ditikam pintasan berjalan di Virtual DOS Machine (VDM) privat. Lihat Keterangan.

CMIC_MASK_ASYNCOK

Tunggu hingga percakapan DDE berakhir sebelum kembali.

CMIC_MASK_NOASYNC

Windows Vista dan yang lebih baru. Implementasi IContextMenu::InvokeCommand harus sinkron, tidak mengembalikan sebelum selesai. Karena ini direkomendasikan, memanggil aplikasi yang menentukan bendera ini tidak dapat menjamin bahwa permintaan ini akan dihormati jika mereka tidak terbiasa dengan implementasi kata kerja yang mereka panggil.

CMIC_MASK_SHIFT_DOWN

Tombol SHIFT ditekan. Gunakan ini alih-alih polling status keyboard saat ini yang mungkin telah berubah sejak kata kerja dipanggil.

CMIC_MASK_CONTROL_DOWN

Tombol CTRL ditekan. Gunakan ini alih-alih polling status keyboard saat ini yang mungkin telah berubah sejak kata kerja dipanggil.

CMIC_MASK_FLAG_LOG_USAGE

Menunjukkan bahwa implementasi IContextMenu::InvokeCommand mungkin ingin melacak item yang dipanggil untuk fitur seperti menu "Dokumen terbaru".

CMIC_MASK_NOZONECHECKS

Jangan lakukan pemeriksaan zona. Bendera ini memungkinkan ShellExecuteEx untuk melewati pemeriksaan zona yang diberlakukan oleh IAttachmentExecute.

hwnd

Jenis: HWND

Handel ke jendela yang merupakan pemilik menu pintasan. Ekstensi juga dapat menggunakan handel ini sebagai pemilik kotak pesan atau kotak dialog apa pun yang ditampilkannya.

lpVerb

Jenis: LPCSTR

Alamat string yang dihentikan null yang menentukan nama perintah yang tidak bergantung pada bahasa yang akan dilakukan. Anggota ini biasanya merupakan string ketika perintah sedang diaktifkan oleh aplikasi. Sistem menyediakan nilai konstanta yang telah ditentukan sebelumnya untuk string perintah berikut.

Terus-menerus String perintah
CMDSTR_RUNAS "RunAs"
CMDSTR_PRINT "Cetak"
CMDSTR_PREVIEW "Pratinjau"
CMDSTR_OPEN "Buka"
 

Ini bukan set tetap; kata kerja kanonis baru dapat ditemukan oleh penangan menu konteks dan aplikasi dapat memanggilnya.

Jika ada kata kerja kanonis dan penangan menu tidak mengimplementasikan kata kerja kanonis, itu harus mengembalikan kode kegagalan untuk memungkinkan handler berikutnya untuk dapat menangani kata kerja ini. Gagal melakukan ini akan merusak fungsionalitas dalam sistem termasuk ShellExecute.

Atau, daripada pointer, parameter ini dapat berupa MAKEINTRESOURCE(offset) di mana offset adalah offset pengidentifikasi menu dari perintah yang akan dilakukan. Implementasi dapat menggunakan makro IS_INTRESOURCE untuk mendeteksi bahwa alternatif ini sedang digunakan. Shell menggunakan alternatif ini saat pengguna memilih perintah menu.

lpParameters

Jenis: LPCSTR

String opsional yang berisi parameter yang diteruskan ke perintah. Format string ini ditentukan oleh perintah yang akan dipanggil. Anggota ini selalu NULL untuk item menu yang disisipkan oleh ekstensi Shell.

lpDirectory

Jenis: LPCSTR

Nama direktori kerja opsional. Anggota ini selalu NULL untuk item menu yang disisipkan oleh ekstensi Shell.

nShow

Jenis: int

Sekumpulan nilai SW_ untuk diteruskan ke fungsi ShowWindow jika perintah menampilkan jendela atau memulai aplikasi.

dwHotKey

Jenis: DWORD

Pintasan keyboard opsional untuk ditetapkan ke aplikasi apa pun yang diaktifkan oleh perintah . Jika parameter fMask tidak menentukan CMIC_MASK_HOTKEY, anggota ini diabaikan.

hIcon

Jenis: HANDEL

Ikon yang digunakan untuk aplikasi apa pun yang diaktifkan oleh perintah . Jika anggota fMask tidak menentukan CMIC_MASK_ICON, anggota ini diabaikan.

Keterangan

Meskipun deklarasi IContextMenu::InvokeCommand menentukan struktur CMINVOKECOMMANDINFO untuk parameter pici , ia juga dapat menerima struktur CMINVOKECOMMANDINFOEX . Jika Anda menerapkan metode ini, Anda harus memeriksa cbSize untuk menentukan struktur mana yang telah dilewati.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header shobjidl_core.h (termasuk Shobjidl.h)