我在下面有个鼠标钩子DLL程序,我想在外部建立一个程序启动鼠标钩子右键HOOK,另外的一个‘按纽移动的程序’也是已经打开的。现在需要的结果就是:如果按一下鼠标右键,就执行一个已经打开的程序的过程。例如,我下面有个‘按纽移动的程序’,那么我不论在什么地方按一下鼠标右键, ‘按纽移动的程序’的按纽就走一步。
也就相当于不论在什么地方按一下鼠标右键,就执行一次‘按纽移动的程序’的TForm1.button1click的事件。 
请各位大侠提个好的方法。
          谢谢      
      library MyHook;{这个是鼠标钩子DLL}uses
  SysUtils,
  Windows,
  Messages,
  Classes;{$R *.res}var
  hook: HHOOK; 
{钩子函数,鼠标键按下}
function MouseHook(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result := CallNextHookEx(hook, nCode, wParam, lParam);
end;{建立钩子}
function SetHook: Boolean; stdcall;
begin
  hook := SetWindowsHookEx(WH_MOUSE, @MouseHook, HInstance, 0);
  Result := hook <> 0;
end;function DelHook: Boolean; stdcall;
begin
  Result := UnhookWindowsHookEx(hook);
end;exports
  SetHook name 'SetHook',
  DelHook name 'DelHook',
  MouseHook name 'MouseHook';//SetHook, DelHook, MouseHook; 
begin
end.unit Unit1;(这个是按纽的程序}interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
  type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure button1click(Sender: TObject);
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.button1click(Sender: TObject);
begin
 button1.top:= button1.top+50;
 color:=clred;
end;end.