library mydll;
uses
Windows,
Messages;
var
M_Hook: HWND;
function my_proc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if (code = HC_ACTION) and (wparam = WM_RBUTTONDOWN)
then MessageBox(0, 'OK', 'OK', 0);
Result:= CallNextHookEx(M_Hook, Code, wParam, lParam);
end;
procedure hook(flag: Boolean) export; stdcall;
begin
if flag
then
begin
M_Hook := SetWindowsHookEx(WH_Mouse, @my_proc, HInstance, 0);
if M_Hook <> 0
then MessageBox(0, 'Start', 'Start', 0)
else MessageBox(0, 'F*CK!!!', 'F*CK!!!', 0);
end
else
begin
if UnhookWindowsHookEx(M_Hook)
then MessageBox(0, 'Stop', 'Stop', 0)
else MessageBox(0, 'F*CK!!!', 'F*CK!!!', 0);
end;
end;
exports hook;
begin
end.
type
My_Proc = procedure (flag : Boolean); stdcall;
//-----//
var
Form2: TForm2;
Hwnd_dll : HWND;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var
hook: My_Proc;
begin
@hook:= nil;
Hwnd_dll:= LoadLibrary(PChar('mydll.dll'));
@hook:=GetProcAddress(Hwnd_dll, 'hook');
hook(true);
end;
procedure TForm2.Button2Click(Sender: TObject);
var
hook: My_Proc;
begin
@hook:= nil;
@hook:=GetProcAddress(Hwnd_dll, 'hook');
hook(false);
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeLibrary(Hwnd_dll);
end;
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.