Fungsi ShellProc

Deskripsi

Fungsi panggilan balik yang ditentukan aplikasi atau yang ditentukan pustaka yang digunakan dengan fungsi SetWindowsHookExA/SetWindowsHookExW . Fungsi ini menerima pemberitahuan peristiwa Shell dari sistem.

Jenis HOOKPROC mendefinisikan penunjuk ke fungsi panggilan balik ini. ShellProc adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi atau yang ditentukan pustaka.

LRESULT CALLBACK ShellProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

Parameter

nCode [in]

Jenis: int

Kode kait.

Jika nCode kurang dari nol, prosedur hook harus meneruskan pesan ke fungsi CallNextHookEx tanpa pemrosesan lebih lanjut dan harus mengembalikan nilai yang dikembalikan oleh CallNextHookEx.

Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
HSHELL_ACCESSIBILITYSTATE 11 Status aksesibilitas telah berubah.
HSHELL_ACTIVATESHELLWINDOW 3 Shell harus mengaktifkan jendela utamanya.
HSHELL_APPCOMMAND 12 Pengguna menyelesaikan peristiwa input (misalnya, menekan tombol perintah aplikasi pada mouse atau tombol perintah aplikasi pada keyboard), dan aplikasi tidak menangani pesan WM_APPCOMMAND yang dihasilkan oleh input tersebut. Jika prosedur Shell menangani pesan WM_COMMAND , prosedur tersebut tidak boleh memanggil CallNextHookEx. Lihat bagian Nilai Yang Dikembalikan untuk informasi selengkapnya.
HSHELL_GETMINRECT 5 Jendela sedang diminimalkan atau dimaksimalkan. Sistem membutuhkan koordinat persegi panjang yang diminimalkan untuk jendela.
HSHELL_LANGUAGE 8 Bahasa keyboard diubah atau tata letak keyboard baru dimuat.
HSHELL_REDRAW 6 Judul jendela di bilah tugas telah digambar ulang.
HSHELL_TASKMAN 7 Pengguna telah memilih daftar tugas. Aplikasi shell yang menyediakan daftar tugas harus mengembalikan TRUE untuk mencegah Windows memulai daftar tugasnya.
HSHELL_WINDOWACTIVATED 4 Aktivasi telah berubah ke jendela tingkat atas yang berbeda dan tidak berutang.
HSHELL_WINDOWCREATED 1 Jendela tingkat atas yang tidak berasosiasi telah dibuat. Jendela ada ketika sistem memanggil kait ini.
HSHELL_WINDOWDESTROYED 2 Jendela tingkat atas dan tidak berpengakuan akan dihancurkan. Jendela masih ada ketika sistem memanggil kait ini.
HSHELL_WINDOWREPLACED 13 Jendela tingkat atas sedang diganti. Jendela ada ketika sistem memanggil kait ini.

wParam [in]

Jenis: WPARAM

Parameter ini tergantung pada nilai parameter nCode , seperti yang ditunjukkan dalam tabel berikut.

nCode wParam
HSHELL_ACCESSIBILITYSTATE Menunjukkan fitur aksesibilitas mana yang telah berubah statusnya. Nilai ini adalah salah satu dari berikut ini: ACCESS_FILTERKEYS, ACCESS_MOUSEKEYS, atau ACCESS_STICKYKEYS.
HSHELL_APPCOMMAND Menunjukkan di mana pesan WM_APPCOMMAND awalnya dikirim; misalnya, handel ke jendela. Untuk informasi selengkapnya, lihat parameter cmd di WM_APPCOMMAND.
HSHELL_GETMINRECT Handel ke jendela yang diminimalkan atau dimaksimalkan.
HSHELL_LANGUAGE Handel ke jendela.
HSHELL_REDRAW Pegangan ke jendela redrawn.
HSHELL_WINDOWACTIVATED Handel ke jendela yang diaktifkan.
HSHELL_WINDOWCREATED Handel ke jendela yang dibuat.
HSHELL_WINDOWDESTROYED Pegangan ke jendela yang dihancurkan.
HSHELL_WINDOWREPLACED Handel ke jendela sedang diganti. Windows 2000: Tidak didukung.

lParam [in]

Jenis: LPARAM

Parameter ini tergantung pada nilai parameter nCode , seperti yang ditunjukkan dalam tabel berikut.

nCode lParam
HSHELL_APPCOMMAND GET_APPCOMMAND_LPARAM(lParam) adalah perintah aplikasi yang sesuai dengan peristiwa input. GET_DEVICE_LPARAM(lParam) menunjukkan apa yang menghasilkan peristiwa input; misalnya, mouse atau keyboard. Untuk informasi selengkapnya, lihat deskripsi parameter uDevice di bawah WM_APPCOMMAND. GET_FLAGS_LPARAM(lParam) tergantung pada nilai cmd dalam WM_APPCOMMAND. Misalnya, ini mungkin menunjukkan kunci virtual mana yang ditahan ketika pesan WM_APPCOMMAND awalnya dikirim. Untuk informasi selengkapnya, lihat parameter deskripsi dwCmdFlags di bawah WM_APPCOMMAND.
HSHELL_GETMINRECT Penunjuk ke struktur RECT .
HSHELL_LANGUAGE Handel ke tata letak keyboard.
HSHELL_MONITORCHANGED Handel ke jendela yang dipindahkan ke monitor lain.
HSHELL_REDRAW Nilainya TRUE jika jendela berkedip, atau FALSE sebaliknya.
HSHELL_WINDOWACTIVATED Nilainya TRUE jika jendela dalam mode layar penuh, atau FALSE jika tidak.
HSHELL_WINDOWREPLACED Handel ke jendela baru. Windows 2000: Tidak didukung.

Mengembalikan

Jenis: LRESULT

Nilai yang dikembalikan harus nol kecuali nilai nCodeHSHELL_APPCOMMAND dan prosedur shell menangani pesan WM_COMMAND . Dalam hal ini, pengembalian harus bukan nol.

Keterangan

Instal prosedur kait ini dengan menentukan jenis hook WH_SHELL dan penunjuk ke prosedur kait dalam panggilan ke fungsi SetWindowsHookEx .

Lihat juga

CallNextHookEx

SendMessage

SetWindowsHookEx

WM_APPCOMMAND

WM_COMMAND

Hook