Musze zrobic program ktory zlicza liczne klikniec prawym i lewym przyciskiem myszki.Ale problem tkwi w tym iz mimo ze zalozylem globalnego hooka to dalej poza forma nie zlicza ilosci klikniec?
Wie ktos gdzie popelniam blad?
tu linkt do calego projektu ttp://www.odzi.kgb.pl/j.zip
[code]#include <vcl.h>
#pragma hdrstop
#include <windows.h>
#include <fstream.h>
#include "dynamicfunction.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
// Global variables
int x=0;
int y=0;
LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam);
HOOKPROC AdressMouseProc = {(FARPROC)MouseProc} ;
bool IsInRect=false;
HHOOK HookHandle;
HINSTANCE DllInstance;
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
DllInstance=hinst;
return 1;
}
//---------------------------------------------------------------------------
bool InstallMouseHook(HINSTANCE hs)
{
if(hs){
if(!AdressMouseProc)
MessageBox(NULL, "Could not set the mouse hook.", "Hook FAILURE", MB_OK);
else{
DllInstance=hs;
// ShowMessage("To jest komunikat z biblioteki DLL\n");
HookHandle=SetWindowsHookEx(WH_MOUSE,(FARPROC)AdressMouseProc,DllInstance,0);
}
}
else
MessageBox(NULL, "The HINSTANCE is null", "What", MB_OK);
} //
//---------------------------------------------------------------------------
bool RemoveMouseHook()
{
// ShowMessage("To jest komunikat z biblioteki DLL\n");
ShowMessage("Captured left mouse button DOWN" + IntToStr(x));
ShowMessage("Captured rigt mouse button DOWN" + IntToStr(y));
if(UnhookWindowsHookEx(HookHandle)==0)
{
return false;
}
else return true;
}
//---------------------------------------------------------------------------
LRESULT CALLBACK MouseProc(int ncode, WPARAM wParam, LPARAM lParam)
{ //
-
if (!HookHandle) * Another process started, fill in the values
//HookHandle = getHook();
//ShowMessage("To jest komunikat z biblioteki DLL\n");
if (ncode<0)
{
return CallNextHookEx(HookHandle,ncode,wParam,lParam);
}
LPMOUSEHOOKSTRUCT mouseCoords; // This is how you access the coordinates of the click
char num[100];
if (wParam == WM_LBUTTONDOWN)
{ sprintf(num, "Captured RIGHT mouse button");
x++;} // End the if
else if (wParam == WM_RBUTTONUP)
{ sprintf(num, "Captured RIGHT mouse button");
y++;} // End the if
// End the if
return CallNextHookEx(HookHandle,ncode,wParam,lParam);
}