Teraz coś wyszło, a da się uzyskać taki efekt ze ta czynność będzie dodatkową? tzn np kliknę sobie w notatniku w 2 lini to przeniesie tam kursor i dopiero po tym wykona dodatkową czynność która będzie właśnie przypisana w tym hooku a nie jak teraz zastępuje mi lpm/ppm?
Teraz mam coś takiego:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellApi;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Hook:HHOOK;
implementation
{$R *.dfm}
function HookPRC(Code: Integer; wParam:WPARAM; lParam: LPARAM): Longint; stdcall;
var
Msg: TEventMsg;
begin
Msg:=PEventMsg(lParam)^;
if Msg.message = WM_RBUTTONDOWN then
ShowMessage('lpm');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnHookWindowsHookEx(Hook);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Hook:=SetWindowsHookEx(WH_JOURNALRECORD, HookPRC, hInstance, 0);
end;
end.
Eee nie powinno Ci go zastępować (chyba ). Po testuj dokładniej. Jeżeli jesteś pewny że zastępuje to wyślij komunikat systemowy o kliknięciu o tych samych współrzędnych co odebrałeś właśnie komunikat