В общем у меня есть программа, по нажатию например на А, нажимается пробел. То-есть имитируется нажатие пробела (вроде правильно написал

)
Но она работает только когда окно программы активно. А мне надо, что бы она могла работать даже в свернутом виде. Можно это реализовать ?
Вот полный код программы
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
tmr1: TTimer;
Button1: TButton;
Button2: TButton;
mmo1: TMemo;
procedure tmr1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.tmr1Timer(Sender: TObject);
begin
tmr1.Enabled:=False;
keybd_event(VK_SPACE,0,0,0);
keybd_event(VK_SPACE,0,KEYEVENTF_KEYUP,0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
tmr1.Enabled:=True;
mmo1.Lines.Add('on');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
tmr1.Enabled:=False;
mmo1.Lines.Add('off');
end;
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 65 then
Form1.Button1.Click;
end;
procedure TForm1.Button1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 65 then
Form1.Button2.Click;
end;
end.
Мемо кинул для проверки работоспособности программы.
Если держать программу поверх браузера, и включить таймер (который повторяет нажатие пробела) и резко нажать на браузер, то можно заметить как страница браузера прокручивается! Это говорит о том, что программа действительно работает. )))))
Помогите ребята.