>>81
解決したようですけど、せっかくやったので・・・
Form1 の KeyPreview を true にし、Button1〜9 の OnClick イベントハンドラを
共有して、

procedure TForm1.Button1Click(Sender: TObject);
var
  KeyCode:Byte;
  Caption:string;
begin
  If Sender is TButton then begin
    Caption := TButton(Sender).Name;
    KeyCode := $30+StrToInt(Copy(Caption,Length(Caption),1));
    keybd_event(KeyCode,0,0,0);
    keybd_event(KeyCode,0,KEYEVENTF_KEYUP,0);
  end;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Ord(Key) of
    Ord('1')..Ord('9'):ShowMessage(Format('%d キー が押されました',[Ord(Key)-$30]));
  end;
end;