Connaitre tous les évènements de windows
-
- Messages : 305
- Inscription : mer. 05/janv./2005 12:58
- Localisation : http://www.tib-net.com/meca/index.htm
Merci Nico
Sur le coup je me suis dit SUPER, je n'avais pas essayé cela et ça devrait marché.....mais je n'y arrive pas. Je récupère bien mon message pour les clic dans ma fenetre, mais dés que j'en sort cela déconne...
Si tu as un peu de temps j'aimerais bien savoir où est mon érreur, sinon j'ai trouvé un moyen pour contourné en faisant des PostMessage_.
Bonne journée à tous
HookDll.dll
prog
Sur le coup je me suis dit SUPER, je n'avais pas essayé cela et ça devrait marché.....mais je n'y arrive pas. Je récupère bien mon message pour les clic dans ma fenetre, mais dés que j'en sort cela déconne...
Si tu as un peu de temps j'aimerais bien savoir où est mon érreur, sinon j'ai trouvé un moyen pour contourné en faisant des PostMessage_.
Bonne journée à tous
HookDll.dll
Code : Tout sélectionner
Global adresse_message,hmyHookMouse
ProcedureDLL HookMouse(code.l, wParam.l, lParam.l)
*mymsg.MOUSEHOOKSTRUCT = lParam
*position.POINT=*mymsg\pt; MSG structure holds info
Select wParam
Case #WM_LBUTTONUP
action$= "Clic G UP"
Case #WM_LBUTTONDOWN
action$= "Clic G Down"
Case #WM_RBUTTONUP
action$= "Clic D UP"
Case #WM_RBUTTONDOWN
action$= "Clic D Down"
Default
action$=""
EndSelect
If action$<>""
action$=LSet(action$,20)+LSet(Str(*position\x),10)+LSet(Str(*position\y),10)
;SetClipboardText(action$)
PokeS(adresse_message,action$)
EndIf
ProcedureReturn CallNextHookEx_(@HookMouse(), code, wParam, lParam)
EndProcedure
ProcedureDLL StartHook(hDLL,ptr_Message)
adresse_message=ptr_Message
hmyHookMouse = SetWindowsHookEx_(#WH_MOUSE , @HookMouse(), hDLL, 0)
EndProcedure
ProcedureDLL StopHook()
UnhookWindowsHookEx_(hmyHookMouse)
EndProcedure
Code : Tout sélectionner
OpenWindow(0, 0, 0, 550, 160,"RecupEvent", #PB_Window_SystemMenu)
StickyWindow(0,1)
hDLL = OpenLibrary(0, "HookDll.dll")
Message.s="TEST "
hmyHookMouse=CallFunction(0, "StartHook", hDLL,@Message)
Repeat
Event=WindowEvent()
Delay(10)
mess$=Message;GetClipboardText()
If der_mess$<>mess$
SetWindowTitle(0,mess$)
der_mess$=mess$
EndIf
Until Event=#wm_close
CallFunction(0, "StopHook")
CloseLibrary(0)
End
Vive le temps libre !