主题:如何让最小化程序响应键盘消息
denghan01
[专家分:0] 发布于 2007-06-08 14:34:00
如何让最小化程序响应键盘消息
求大虾指导!
回复列表 (共2个回复)
沙发
linjipeng0 [专家分:220] 发布于 2007-09-17 16:30:00
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
{ Private declarations }
procedure WMHotKeyHandle(var Msg:TMessage); message WM_HotKey;
public
{ Public declarations }
end;
var
Form1: TForm1;
HotKeyID: integer;
implementation
{$R *.dfm}
procedure Tform1.WMHotKeyHandle(var Msg:Tmessage);
begin
if(Msg.LParamHi=Ord('1')) and (Msg.LParamLo=MOD_Control+MOD_Alt) then
begin
if IsIconic(application.Handle) then
application.Restore
else
application.BringToFront;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
HotKeyVK : integer;
HotKeyMOD : integer;
begin
HotKeyVK:=Ord('1');
HotKeyMOD:=MOD_Control+MOD_Alt;
HotKeyID:=GlobalAddAtom(PChar(application.Title))-$C000;
if not RegisterHotKey(self.Handle,HotKeyID,HotKeyMOD,HotKeyVK) then
begin
//如果失败
UnregisterHotKey(Handle,HotKeyID);
DeleteAtom(HotKeyID);
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnregisterHotKey(Handle,HotKeyID);
DeleteAtom(HotKeyID);
end;
end.
板凳
my3439955 [专家分:330] 发布于 2007-09-18 19:08:00
1.定义热键
2.键盘钩子
我来回复