如何让程序知道键盘按下Ctrl+Enter或Alt+Enter?这两组热键怎么写?(20分)

  • 主题发起人 主题发起人 CPU风扇
  • 开始时间 开始时间
1、如果是自己的程序,你在OnKeyDown里面判断就可以了。
2、如果是全局的,你可以注册热键。
 
摘了一段程序,够用的了。
procedure WMHotkeyHandle(var Msg:TMessage);message WM_HOTKEY; //响应敏感键按键消息
var
HotkeyId :Integer;
procedure TForm1.WMHotkeyHandle(var Msg:TMessage);
begin //mod_Alt
if (Msg.LParamHi=$13) and (msg.lparamLo=MOD_CONTROL) then
begin
Msg.Result:=1; //该消息已经处理
{做你需要做的事情}
end;
end;

HotkeyId:=GlobalAddAtom(Pchar('UserDefineHotKey'))-$C000; //减去$C000是为了保证取值范围的限制
RegisterHotkey(Handle,Hotkeyid,MOD_CONTROL , $13);//MOD_Alt

UnRegisterhotkey(Handle,HotkeyId);
DeleteAtom(HotKeyID);
 
如果只在所处的程序中使用,也可以在application.Onmessage中截获。
如果注册系统热键,只要你的程序在运行,不管当前活动程序是哪个,
都会起作用。
 
谢谢
解决了
 
后退
顶部