【AHK】一篇搞懂键盘钩子问题,#usehook/#InstallKeybdHook

昨天,我通过一番努力解答了以为一位网友的问题(详细情况见这里),不少网友看到后都给予了支持,也有部分网友将自己积压多年的问题,拿出来询问,一位有心的网友,看到我给出的示例代码中用到了#usehook这个命令,疑惑不解特来询问(问题和解答在这里),回答之后略有感慨啊!看来大家对AutohotKey的疑问还是蛮多的,希望官网能意识到这个问题吧!今天写这篇文章主要帮大家解惑两个问题。希望对大家能有一些帮助!也希望志同道合的朋友一起来我这里探讨学习。

NO1 使用钩子和不使用钩子有什么区别?我怎么感受不到呢?怎么使用呢?

问题一股脑的都出来,咱们一个一个解答!

为什么我感受不到使用钩子和不使用钩子的区别?

因为官网给出的例子太烂了!来看下:

;官方例子
#UseHook  ; 强制从这里往后的热键使用键盘钩子。
#x::MsgBox, This hotkey will be implemented with the hook.
#y::MsgBox, And this one too.
#UseHook off ;这里之后钩子取消
#z::MsgBox, But not this one.

其实,在很多时候我们是感受不到钩子作用的,比如官方这个例子Win+x、Win+y、Win+z,如果不使用消息框给提示,我们根本不知道还有用了钩子的!那么这个例子就有点牵强附会,不知所以了。

官方的帮助中有这么一句话,默认情况下, 使用 键盘钩子 的热键不会被 Send 命令的方法触发,我觉着这才是重点,于是乎我就想到一个例子:

也是一位网友的需求吧!F1本身是帮助的快捷键,但是他想使用F1发送一段自己写的代码,shift+F1发送F1本身的功能。他写了这么一段代码:

F1::    
    ; his code...
    msgBox, Code!
return

+F1::Send, {F1}

这时候问题来了,现在按下F1或者按下shift+F1都是消息框Code!这时候就困住了这位兄弟,他跑来问题什么情况?哈哈 答案上边就给出了!这时候就用到钩子了!

我给他的代码添加了一行代码完美解决!

#UseHook, On

F1::    
    ; his code...
    msgBox, Code!
return

+F1::Send, {F1}

说到这里,我们有必要白话说一下,钩子是干嘛的!其实这个名字非常形象了,下面给配张图看的更清楚!

上边这个图的意思就是,比如上边是一条河,沟子就是在旁边挖个沟,让水先流我这来,我可以把干净水喝了,不太干净洗洗脚,再加点什么工业污水、生活污水,再还给河道。哈哈就这么个意思吧!这就是沟子!

autohotkey中,send对你这旁边的沟子不承认而已!所以上边的问题就可以这么解决。也是使用钩子的一个区别吧,在上边你的代码区,你可以任意让系统执行你写的代码了!关于使用不使用钩子就说这些吧!钩子、沟子哪个都够形象的。

NO2 #usehook/#InstallKeybdHook,这两个都是启用钩子,什么区别?

其实这两个命令都是安装钩子的意思,让我们有点丈二和尚摸不着头脑。哈哈 autohotkey就是这么灵活!

其实这两命令的使用起来没有什么区别!所以也不举例子了!

区别在内存使用上!

换句话说,#InstallKeybdHook这个命令,傻瓜一点,用不用我先把沟刨出来,先把内存占上,#usehook这个命令呢,就聪明一点,脚本中有热键我才刨沟,没有我就不用搞内存了。

这两个命令具体怎么用看个人了! 游戏外挂、干些什么坏事都离不开钩子,这里就不详细讲了。如果大家有兴趣可以自行 研究一下。

今天文章先到这里吧!也许你有更好的建议,欢迎与我交流!本文更新地址在这里!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 社会——一个很现实的地方 “每天说大话你不累吗”,“你就是这样了,这辈子就别想了”,“就你?怎么可能”亲爱的小伙伴...
    岳岳的成长阅读 184评论 4 3
  • 首见,为了记录我与简书的“相遇” 刚下载简书APP,注册了个账号,就想着,该把自己对生活的随思逸想记录下来,碎思片...
    小米昔阅读 150评论 0 1
  • 有时眼前就是闪念,有时未来就是某天 ,茂盛繁华根根分明~ 晚安。
    Gigi熊阅读 274评论 2 7
  • 1 面馆,熙熙攘攘,人头攒动。 这个面馆所在的位置原来曾是一家快餐厅,倒闭后被转手开起了面馆。原先的陈设大部分已经...
    少家说阅读 408评论 5 5