Ver la Versión Completa : detectar teclas
DarkSton
23-02-2024, 22:04:18
una pregunta quiero detectar teclas imprPant- Insert - Supr - re Pag- Av pag , pero que el form este minimizado los que he probado tengo que presionar encima del form para que funcione
Northern
23-02-2024, 22:35:46
Si esto funciona nos lo cuentas
https://github.com/masterzion/delphi-keylogger/blob/master/Unit1.pas
escafandra
24-02-2024, 15:23:08
Quizás te interese revisar la API RegisterHotKey (https://learn.microsoft.com/es-es/windows/win32/api/winuser/nf-winuser-registerhotkey)
Te dejo un ejemplo:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure HotKey(var Message: TMessage); message WM_HOTKEY;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle, 111, 0, VK_SNAPSHOT);
end;
procedure TForm1.HotKey(var Message: TMessage);
var
MousePos: TPoint;
begin
case Message.WParam of
111: ShowMessage('Se Pulsó ImprPant');
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnregisterHotKey(Handle, 111);
end;
end.
Saludos.
Neftali [Germán.Estévez]
26-02-2024, 08:59:37
...quiero detectar teclas imprPant- Insert - Supr - re Pag- Av pag , pero que el form este minimizado los que he probado tengo que presionar encima del form para que funcione
Yo creo que la solución pasa por crear un hook de teclado a nivel de sistema, como comenta [escafandra].
Ya hemos hablado otras veces del tema en los foros.
Si buscas por "hook de teclado" (o por las palabras registerhotkey o unregisterhotkey) encontrarás varios temas y códigos al respecto para instalarlo y desinstalarlo.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.