怎么用DELPHI实现程序隐藏后用快捷键显示

//以下是部分代码,更详尽:http://zhidao.baidu.com/question/372432555.html

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    vi: Integer;
    procedure mor(var m: Tmessage); message WM_HOTKEY;

//message是指示性关键字,指示该过程针对该WM_HOTKEY消息有效

  { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
  vi := GlobalAddAtom('vihandl') ; //添加全局原子,这些都是必不可以的。
reisterHotKey(Handle, vi, MOD_CONTROL,82); //注册系统热键。
;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  UnRegisterHotKey(handle, vi); //不解释
;

procedure TForm1.mor(var m: Tmessage);
var
  h:HWND;
begin
  if (m.LParamLo=MOD_CONTROL) and (m.LParamHi=82)  then //判断是否为注册的热键
show;
end;

posted @ 2012-02-29 11:35  stma  阅读(213)  评论(0)    收藏  举报