Hablando de juegos podemos tener problemas, estos no suelen recibir las pulsaciones de teclado y ratón igual que los demás programas. Pero podemos probar, si no funciona, tendremos que pensar otra cosa.
La cosa funciona así, primero utilizamos un Hook que intercepte la pulsaciones de ratón, si la pulsación es del botón derecho simulamos una pulsación de teclado con la función keyb_event. Vamos con un poco de código:
Código Delphi
[-]
const
WH_MOUSE_LL = 14;
var
Hook: HHook;
procedure Pulsar(Key: Byte);
begin
keybd_event(Key, 0, 0, 0);
keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
end;
function MouseProc(Code: Integer; WParam, LParam: DWORD): LRESULT; stdcall;
begin
if Code = HC_ACTION then
begin
if WParam = WM_RBUTTONUP then begin
Pulsar(Ord('U'));
end;
end;
Result := CallNextHookEx(Hook, Code, WParam, LParam);
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Hook <> 0 then UnhookWindowsHookEx(Hook);
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Hook := SetWindowsHookEx(WH_MOUSE_LL, @MouseProc, HInstance, 0);
end;