myke38 | non mais c gentil de vouloir maider : en faite le plus fort c que si je change ma dll en :
Code :
- //---------------------------------------------------------------------#include <vcl.h>
- #pragma hdrstop
- #include <vcl\Registry.hpp>
- #include <dir.h>
- //---------------------------------------------------------------------
- extern "C" __declspec(dllexport)bool InstallMouseHook();
- extern "C" __declspec(dllexport)bool RemoveMouseHook();
- LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam);
- LRESULT CALLBACK KeyProc(int code, WPARAM wParam, LPARAM lParam);
- HHOOK HookHandle;
- HHOOK HookHandle1;
- HINSTANCE DllInstance;
- HWND hwnd = NULL;
- HWND hwnd1 = NULL;
- //---------------------------------------------------------------------
- int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
- {
- DllInstance=hinst;
- return 1;
- }
- //---------------------------------------------------------------------
- bool InstallMouseHook()
- {
- HookHandle1=SetWindowsHookEx(WH_MOUSE,(HOOKPROC)MouseProc,DllInstance,0);
- HookHandle=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyProc,DllInstance,0);
- if (HookHandle1==NULL || HookHandle==NULL)return false;
- else return true;
- }
- //---------------------------------------------------------------------
- bool RemoveMouseHook()
- {
- if(UnhookWindowsHookEx(HookHandle)==0 ||UnhookWindowsHookEx(HookHandle1)==0)return false;
- else return true;
- }
- //---------------------------------------------------------------------
- LRESULT CALLBACK KeyProc(int code, WPARAM wParam, LPARAM lParam)
- {
- return CallNextHookEx(HookHandle,code,wParam,lParam);
- }
- //---------------------------------------------------------------------
- LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam)
- {
- return CallNextHookEx(HookHandle1,code,wParam,lParam);
- }
- //---------------------------------------------------------------------
|
ben sa plante encore certain programme lorsque celui ci tourne en arriere plan.
Compren pas |