Fungsi MessageProc
Deskripsi
Fungsi panggilan balik yang ditentukan aplikasi atau yang ditentukan pustaka yang digunakan dengan fungsi SetWindowsHookExA/SetWindowsHookExW . Sistem memanggil fungsi ini setelah peristiwa input terjadi dalam kotak dialog, kotak pesan, menu, atau bilah gulir, tetapi sebelum pesan yang dihasilkan oleh peristiwa input diproses. Prosedur kait dapat memantau pesan untuk kotak dialog, kotak pesan, menu, atau bilah gulir yang dibuat oleh aplikasi tertentu atau semua aplikasi.
Jenis HOOKPROC mendefinisikan penunjuk ke fungsi panggilan balik ini. MessageProc adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi atau yang ditentukan pustaka.
LRESULT CALLBACK MessageProc(
_In_ int code,
WPARAM wParam,
_In_ LPARAM lParam
);
Parameter
code [in]
Jenis: int
Jenis peristiwa input yang menghasilkan pesan.
Jika kode kurang dari nol, prosedur hook harus meneruskan pesan ke fungsi CallNextHookEx tanpa pemrosesan lebih lanjut dan mengembalikan nilai yang dikembalikan oleh CallNextHookEx.
Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
0x8001 MSGF_DDEMGR | Peristiwa input terjadi saat Dynamic Data Exchange Management Library (DDEML) sedang menunggu transaksi sinkron selesai. Untuk informasi selengkapnya tentang DDEML, lihat Pustaka Manajemen Pertukaran Data Dinamis. |
MSGF_DIALOGBOX 0 | Peristiwa input terjadi dalam kotak pesan atau kotak dialog. |
MSGF_MENU 2 | Peristiwa input terjadi di menu. |
MSGF_SCROLLBAR 5 | Peristiwa input terjadi di bilah gulir. |
wParam
Jenis: WPARAM
Parameter ini tidak digunakan.
lParam [in]
Jenis: LPARAM
Penunjuk ke struktur MSG .
Mengembalikan
Jenis: LRESULT
Jika kode kurang dari nol, prosedur kait harus mengembalikan nilai yang dikembalikan oleh CallNextHookEx.
Jika kode lebih besar dari atau sama dengan nol, dan prosedur kait tidak memproses pesan, sangat disarankan agar Anda memanggil CallNextHookEx dan mengembalikan nilai yang dikembalikannya; jika tidak, aplikasi lain yang telah menginstal kait WH_MSGFILTER tidak akan menerima pemberitahuan kait dan mungkin bertingkah salah sebagai akibatnya. Jika prosedur kait memproses pesan, itu dapat mengembalikan nilai bukan nol untuk mencegah sistem meneruskan pesan ke rantai kait lainnya atau prosedur jendela target.
Keterangan
Aplikasi menginstal prosedur kait dengan menentukan jenis kait WH_MSGFILTER dan penunjuk ke prosedur kait dalam panggilan ke fungsi SetWindowsHookExA/SetWindowsHookExW .
Jika aplikasi yang menggunakan DDEML dan melakukan transaksi sinkron harus memproses pesan sebelum dikirim, aplikasi harus menggunakan kait WH_MSGFILTER .