急!捕捉上下键(100分)

  • 主题发起人 主题发起人 wangqi76
  • 开始时间 开始时间
W

wangqi76

Unregistered / Unconfirmed
GUEST, unregistred user!
如何捕捉到键盘中的上下键?如要求一按键盘上下键就弹出一个消息框。
 
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) and (Msg.wParam = VK_UP) then
ShowMessage('VK_UP');
end;
用Msg.Hwnd判断是发给谁的消息。
 
一定是不知道在OnKeyDown事件中上下键的扫描码吧。

告诉你一个简单的解决此类问题的方法:
1、启动一个新项目
2、在Form1的OnKeyDown事件中加入下面的一行代码:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
caption:='key='+IntToStr(key);//在FORM1的标题条上显示当前按下键的扫描码
end;

剩下的不用说了吧?
 
那要看你要捕获的是自己的程序还是别人的程序了,
对于自己的,我就不用说了,对于别人的程序,恐怕
要用到 钩子(hook) 了
 
多人接受答案了。
 
后退
顶部