#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
HHOOK hookdata ;
LRESULT CALLBACK KeyboardProc(int code,WPARAM w,LPARAM l)
{
if (code < 0)
{
return CallNextHookEx(hookdata,code,w,l);
}
if (w == VK_INSERT)
ShowMessage("bleee");
return CallNextHookEx ( hookdata, code, w,1 ) ;
}//funkcja
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
hookdata = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc,NULL,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
UnhookWindowsHookEx (hookdata);
}
//---------------------------------------------------------------------------
Podczas tworzenia sie formy program zaklada globalnego hook'a.
Teraz jezeli nacisne insert powinienem ujzec ShowMessag'e ,niestety tak
sie nie dzieje.Czego brakuje?