IContextMenu::Metode InvokeCommand (shobjidl_core.h)
Menjalankan perintah yang terkait dengan item menu pintasan.
Sintaks
HRESULT InvokeCommand(
CMINVOKECOMMANDINFO *pici
);
Parameter
pici
Jenis: LPCMINVOKECOMMANDINFO
Penunjuk ke struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX yang berisi spesifik tentang perintah.
Nilai kembali
Jenis: HRESULT
Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Antarmuka IContextMenu diekspor oleh beberapa penangan ekstensi Shell dan ekstensi namespace layanan. Ini digunakan untuk menambahkan perintah ke menu pintasan. Saat pengguna memilih salah satu perintah yang ditambahkan oleh ekstensi handler atau namespace ke menu pintasan, Shell memanggil metode InvokeCommand perintah tersebut. Perintah dapat ditentukan oleh offset pengidentifikasi menunya, yang ditentukan ketika IContextMenu::QueryContextMenu dipanggil, atau dengan kata kerja terkait. Aplikasi dapat memanggil metode ini secara langsung dengan mendapatkan penunjuk ke antarmuka IContextMenu objek. Aplikasi juga dapat memanggil metode ini secara tidak langsung dengan memanggil ShellExecute atau ShellExecuteEx dan menentukan kata kerja yang didukung oleh ekstensi namespace atau handler.
Catatan untuk Pengguna
Meskipun parameter pici dideklarasikan dalam Shlobj.h sebagai struktur CMINVOKECOMMANDINFO , Anda dapat menggunakan CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX. Salah satu akan berfungsi untuk string ANSI, tetapi Anda harus menggunakan struktur CMINVOKECOMMANDINFOEX untuk string Unicode.Catatan untuk Pelaksana
Periksa anggota pici cbSize untuk menentukan struktur mana (CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX) yang diteruskan. Jika itu adalah struktur CMINVOKECOMMANDINFOEX dan anggota fMask memiliki set bendera CMIC_MASK_UNICODE , Anda harus mentransmisikan pici ke CMINVOKECOMMANDINFOEX untuk menggunakan informasi Unicode yang terkandung dalam lima anggota terakhir struktur.Jika kata kerja, ditentukan baik dengan nama kata kerja kanonis atau ID perintah tidak dikenali oleh penangan menu konteks, kata kerja harus mengembalikan kegagalan (E_FAIL) sehingga kata kerja dapat diteruskan ke penangan menu konteks lain yang mungkin mengimplementasikannya.
Pada Windows Vista, tidak cukup memanggil perintah secara asinkron hanya dengan mengatur bendera CMIC_MASK_ASYNCOK di anggota fMask struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX . Anda juga harus mengatur referensi utas pada utas panggilan seperti yang dijelaskan dalam Mengelola Referensi Utas.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |
DLL | Shell32.dll (versi 4.0 atau yang lebih baru) |