delphi 系统热键

delphi9年前 (2017)发布 admin
481 0
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY;
  end;
var
  Form1: TForm1;
  F9_ID,F10_ID:integer;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
  if GlobalFindAtom('MyF9HotKey') = 0 then
  begin
    F9_ID:=GlobalAddAtom('MyF9HotKey');
    RegisterHotKey(handle,F9_id,0,VK_F9);
  end;
  if GlobalFindAtom('MyF10HotKey') = 0 then
  begin
    F10_ID:=GlobalAddAtom('MyF10HotKey');
    RegisterHotKey(handle,F10_id,0,VK_F10);
  end ;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(handle,F9_id);
  GlobalDeleteAtom(F9_id);
  UnRegisterHotKey(handle,F10_id);
  GlobalDeleteAtom(F10_id);
end;
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if msg.HotKey = F9_id then form1.hide;
  if msg.HotKey = F10_id then form1.show;
end;
end.

转自:https://zhidao.baidu.com/question/247604046.html

© 版权声明

相关文章