一個有關鍵盤的問題(20分)

  • 主题发起人 主题发起人 leway
  • 开始时间 开始时间
L

leway

Unregistered / Unconfirmed
GUEST, unregistred user!
如何截獲按下鍵盤的消息,
如: 按下鍵盤的Delete馬上showMessage('VK_DELETE');
注意:不要使用KeyDown事件實現,用消息或用 HOOK實現。謝謝!
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure MyMessage(var Msg: TMsg;var Handled: Boolean);
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
application.OnMessage:=MyMessage;
end;

procedure TForm1.MyMessage(var Msg: TMsg; var Handled: Boolean);
begin
if ((msg.message=wm_keydown) or (msg.message=wm_keyUP))
and (MSG.wParam =vk_delete) then
begin
showmessage('VK_DELETE');
handled:=true;
end;
end;

end.
 
接受答案了.
 
后退
顶部