View Full Version : سوال درباره ی Global hook ها
4nti.g0d.71
دوشنبه 02 مرداد 1391, 17:31 عصر
سلام. من یه keyboard global hook نوشتم،یعنی تابع هوک رو داخل یه dll گذاشتم و بعد با تابع SetWindowsHookEx اون رو set کردم. سوال من اینه که مگه global hook ها پیام های مربوط به کل سیستم و پروسس ها رو مانیتور نمیکنن؟ولی مثلا من اینجا که برا keyboard نوشتم، فقط keystrok های مربوط به بعضی پروسس ها رو میتونه دریافت کنه... نمیدونم تونستم منظورم رو برسونم یا نه! لطفا اگه میشه راهنمایی کنید.
#target
دوشنبه 02 مرداد 1391, 18:26 عصر
WH_KEYBOARD_LL رو هوک کن
توضیح تابع callback اینجا (http://msdn.microsoft.com/en-us/library/windows/desktop/ms644985(v=vs.85).aspx) ببین (LowLevelKeyboardProc)
4nti.g0d.71
دوشنبه 02 مرداد 1391, 19:08 عصر
شما درست میگید، اما با WH_KEYBOARD_LL فقط میشه فهمید که keystrok رخ داده یه نه، ولی نمیشه فهمید کدوم دکمه فشرده شده..!
#target
دوشنبه 02 مرداد 1391, 20:20 عصر
نه ! فکر نکنم
lParam تابع اشاره گر به ساختار KBDLLHOOKSTRUCT (http://msdn.microsoft.com/en-us/library/windows/desktop/ms644967(v=vs.85).aspx) که یکی از اعضای آن vkCode کد کلید فشرده شده رو داره !
4nti.g0d.71
دوشنبه 02 مرداد 1391, 22:27 عصر
مرسی از کمکتون. ولی ببخشید من اینقد سوال های مبتدی میپرسم،برای اینکه بتونیم از lparam اون virtual-code رو بدست بیاریم چیکار باید بکنیم؟ میشه اون تکه کدش رو بگید؟
#target
دوشنبه 02 مرداد 1391, 23:37 عصر
شبیه این . تست نکردم !!
#include <Windows.h>
extern "C" _declspec(dllexport) LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
KBDLLHOOKSTRUCT* T = (KBDLLHOOKSTRUCT*)lParam;
int i = T->vkCode;
return 0;
}
4nti.g0d.71
سه شنبه 03 مرداد 1391, 00:06 صبح
خیلی ممنونم دوست عزیز درست شد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.