Bagikan melalui


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 .

Lihat juga

CallNextHookEx

SetWindowsHookEx

MSG

Hook