Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   detectar teclas (https://www.clubdelphi.com/foros/showthread.php?t=96616)

DarkSton 23-02-2024 22:04:18

detectar teclas
 
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...ster/Unit1.pas

escafandra 24-02-2024 15:23:08

Quizás te interese revisar la API RegisterHotKey
Te dejo un ejemplo:
Código Delphi [-]
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

Cita:

Empezado por DarkSton (Mensaje 554580)
...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.


La franja horaria es GMT +2. Ahora son las 11:31:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi