Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как глобально перехватить нажатие кнопки PrintScreen?

01.01.2007

В примере для глобального перехвата нажатия клавиши print screen регистрируется горячая клавиша (hot key).

type 
  TForm1 = class(TForm) 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
  private 
    { Private declarations } 
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY; 
  public 
    { Public declarations } 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.DFM} 

const id_SnapShot = 101; 

procedure TForm1.WMHotKey (var Msg : TWMHotKey); 
begin 
  if Msg.HotKey = id_SnapShot then 
    ShowMessage('GotIt'); 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
  RegisterHotKey(Form1.Handle, 
                 id_SnapShot, 
                 0, 
                 VK_SNAPSHOT); 
end; 

procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  UnRegisterHotKey (Form1.Handle, id_SnapShot); 
end; 
Previous page:
Как отловить правый Enter (NumPad)
Top:
DRKB
Next page:
Как перехватить нажатие TAB?