من منكم سبق وان استخدم ال Keyboard Hook في برنامج آخر لإلتقاط الأحداث على طبقة من طبقات ويندوز .
أغيثوني أغاثكم الله .
فأنا حاولت بكل ما أعطيت من قوى ولم تجدي محاولاتي ، وهذا ما توصلت اليه :
كلما حاولت أن أمسك طبقة بـ hook ينجح للطبقات التي داخل برنامجي ويفشل للطبقات التي خارج برنامجي .
حاولت أن استخدم من الـ API الـ SetWindowsHookEx لا ينجح الا في الطبقات التي داخل برنامجي وعندما احاول ان امسك طبقه خارج برنامجي يرفض علماً انني اريد ان التقط الأحداث القادمة من لوحة المفاتيح على هذه الطبقة و أنا استخدم الدالة كا التالي :
آعرفها في module :
[l] Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long [/l]
ثم استخدمه علما انني اوفر متطلبات الداله كالآتي :
[l] Dim hInst&, Thread& hInst = GetWindowLong(hwnd, GWL_HINSTANCE) Thread = GetCurrentThreadId() hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf _ KeyboardProc, hInst, Thread) [/l]
................ فهل من مجيب .