⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 用Delphi6写的演示在程序中如何设定富于个性的热键,例如F+J.
💻 TXT
字号:
设定富于个性的热键
破天惊   http://tresss.com

  现在的软件种类繁多,数量惊人。所以如果想设成系统级的热键。我们就很难保证不与其它软件的热键冲突。
  一般的软件都是Ctrl+shift+....或是Ctrl+....或Win+....之类的。下面我们试着定义一个f+j的热键。就是同时按下f和j两个字母来触发事件。
  用RegisterHotKey是实现不了的。这里我们要用到的是一个Timer和一个GetKeyState()。
  实现原理很简单。设定一个Interval为1的Timer不停的检测用户是否按下预定的两个键。如果附合条件,则触发你要实现的功能。
  代码如下:
procedure TFrmMain.Timer1Timer(Sender: TObject);
begin
  Timer1.Interval:=1;
  if (GetKeyState(Ord('F'))<0) and (GetKeyState(Ord('J'))<0) then
  Begin
    Inc(HotNum2);
    Lbl1.Caption:='你已按过'+IntToStr(HotNum2)+'次热键';
    Timer1.Interval:=100;      //延时,防止事件触发过快;
  End;
end;

  要说明的是Interval的设定。在Timer事件里如果触发了事件,那么一定要把Interval设定大一点。否则用户按下一次键一般会触发十次左右事件。具体情况可以在代码里将Interval行删掉试一下;
  E-Mail:tresss@sohu.com
  HomePage:http://tresss.com

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -