By searching this Forum i have found a Hook examble, i have it modifyt:
Code: Select all
Global hhook
Global AlreadyPop
AlreadyPop = 0
Hooked$ = "No"
#MenuPopR = 44
#MenuPopL = 45
Procedure Hook(nCode, wParam, lParam)
beep_(50,100)
ProcedureReturn 1
EndProcedure
Procedure HookProc(Hooked$)
Shared hhook
Select Hooked$
Case "Yes"
hInstance = GetModuleHandle_(0)
lpdwProcessId = GetWindowThreadProcessId_(WindowID, 0)
hhook = SetWindowsHookEx_(#WH_Keyboard, @Hook(), hInstance, lpdwProcessId)
Case "No"
UnhookWindowsHookEx_(hhook)
EndSelect
EndProcedure
OpenWindow(0,250,250,250,250,#PB_Window_SystemMenu,"test")
CreateGadgetList(WindowID())
ButtonGadget(1,10,10,70,30,"UnHooked")
StringGadget(2,10,50,70,20,"Zum Testen")
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_EventCloseWindow
Exit = 1
Case #PB_EventGadget
If EventGadgetID() = 1
If GetGadgetText(1) = "Hooked"
SetGadgetText(1,"UnHooked")
HookProc("No")
Else
SetGadgetText(1,"Hooked")
HookProc("Yes")
EndIf
EndIf
Case #WM_RBUTTONDOWN
MessageRequester("UnHooked","Rechtemaustaste!",0)
EndSelect
Until Exit = 1
UnhookWindowsHookEx_(hhook)
End
my Program only works in his own Window.
Has anyone a Answer ?
[PS: Pleas forgiv my English]