Struktur DFMICS (shlobj_core.h)
Berisi argumen tambahan yang digunakan oleh DFM_INVOKECOMMANDEX.
Sintaks
typedef struct {
DWORD cbSize;
DWORD fMask;
LPARAM lParam;
UINT idCmdFirst;
UINT idDefMax;
LPCMINVOKECOMMANDINFO pici;
IUnknown *punkSite;
} DFMICS, *PDFMICS;
Anggota
cbSize
Jenis: DWORD
Ukuran struktur ini, dalam byte.
fMask
Jenis: DWORD
Nol, atau satu atau beberapa bendera berikut yang menentukan cara menangani data dalam struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX yang ditujukkan oleh pici.
CMIC_MASK_HOTKEY
Anggota dwHotKey valid.
CMIC_MASK_ICON
Tidak digunakan.
CMIC_MASK_FLAG_NO_UI
Implementasi IContextMenu::InvokeCommand dicegah untuk menampilkan elemen antarmuka pengguna (misalnya, pesan kesalahan) saat melakukan perintah.
CMIC_MASK_UNICODE
Digunakan hanya ketika pici menunjuk ke struktur CMINVOKECOMMANDINFOEX . Menunjukkan bahwa penangan menu pintasan harus menggunakan anggota lpVerbW, lpParametersW, lpTitleW, dan lpDirectoryW alih-alih setara DENGAN ANSI mereka. Karena beberapa penangan menu pintasan mungkin tidak mendukung Unicode, Anda juga harus meneruskan string ANSI yang valid di anggota lpVerb, lpParameters, lpTitleW, dan lpDirectory .
CMIC_MASK_NO_CONSOLE
Jika penangan menu pintasan perlu membuat proses baru, biasanya 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 disortir pintasan untuk berjalan di Virtual DOS Machine (VDM) privat. Lihat Keterangan.
CMIC_MASK_ASYNCOK
Implementasi IContextMenu::InvokeCommand dapat memutar utas atau proses baru untuk menangani panggilan dan tidak perlu memblokir penyelesaian fungsi yang dipanggil. Misalnya, jika kata kerja "hapus" panggilan IContextMenu::InvokeCommand dapat kembali sebelum semua item dihapus. Karena ini adalah saran, 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_NOASYNC
Windows Vista dan yang lebih baru. Implementasi IContextMenu::InvokeCommand harus sinkron, tidak kembali 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.
CMIC_MASK_PTINVOKE
Digunakan hanya ketika pici menunjuk ke struktur CMINVOKECOMMANDINFOEX . Anggota ptInvoke valid.
lParam
Jenis: LPARAM
Penunjuk ke string yang dihentikan null yang berisi argumen tambahan ke perintah menu yang dipilih. Anggota ini bisa NULL.
idCmdFirst
Jenis: UINT
Nilai minimum yang dapat ditentukan handler untuk pengidentifikasi item menu.
idDefMax
Jenis: UINT
Nilai maksimum yang dapat ditentukan handler untuk pengidentifikasi item menu.
pici
Jenis: LPCMINVOKECOMMANDINFO
Pointer ke struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFO .
punkSite
Jenis: IUnknown*
Penunjuk ke situs penangan menu konteks.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Header | shlobj_core.h (termasuk Shlobj.h) |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk