onenote-AHK协同③:第一个脚本详解,AHK常用术语、符号及命令

原创 小斯  2020-07-23 21:51 

前面两篇分章分别介绍了AHK的基本功能,AHK的安装,并建立运行了第一个.ahk脚本程序。本文,将对上一篇文章中的脚本进行详细解析,并列出一些常用的命令与符号,以供参考。

1

脚本解析

下面详细解析这段代码:

F1:: ;标题重映射
    Send,^!1
return

第一行: F1::  。F1是你要定义的热键,可以是独立键或组合键(快捷键系列文章中详细介绍过两者区别)。 :: 用于触发热键,F1在 :: 左边, 表示你将按下这个热键。;分号代表注释。

第二行:Send,^!1  。表示如何发送按键。Send是最常用的命令之一,在逗号“,”之后的内容将会被发送。

第三行。Return。Return也是最常用的命令之一,它将停止执行之后的代码。这个命令相当实用,试想一下,一个.ahk脚本中可能会定义百十来个热键,如何让它们互不干扰呢,用Return隔开就能很好地解决此问题。

2

AHK基本术语

脚本/宏(Script):即.ahk文件。在此脚本编写代码,保存后双击执行,你定义的热键就生效了。

热键(hotkey):也就是你定义的快捷键。

命令:为某个热键指定的一个动作(action),例如按下Ctrl+Alt+1组合键。

 

3

AHK常用命令

AHK虽然很轻量级,但是功能却十分强大,官方帮助文档中列出的内置命令或函数多达300多条,下面列出了其中最常用的几条。

命令

功能

Run

运行外部程序,例如打开一个软件、文档、网页等等

Send

发送键击或一段字符

Return

停止执行后面的代码

Msgbox

消息窗口

Inputbox

用户输入窗口

Sleep

休眠时间结束后,再执行后面的命令。

Click

鼠标点击

4

AHK常用符号

前四个为修饰键(对应着组合键中的固定搭配键,详细可参考之前的快捷键系列文章),可以和其他按键直接相连(比如写成#a),其他按键要做修饰键,需要用&连接(比如a&b)。

符号

按键

#

Windows

^

Control

!

Alt

+

Shift

&

用来连接两个按键组成热键(除上面四个按键)

<

使用成对按键中左边的那个. 例如 <!a ,只有用左边的 Alt 键才可以触发.

>

使用成对按键中右边的那个.

下一篇文章,将介绍一个非常实用的函数:如何为不同的软件定义不同的热键体系。

本文地址:https://cas01.com/5596.html
公 众 号 :注意两个号的区别,小斯想专注于OneNote和思维导图等具体的知识管理软件的经验分享。(OneNote为主);cas01专注于知识管理理论及实践成果的分享。(知识管理理论及实践)。
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,转载请保留出处。

发表评论


表情

  1. yuly
    yuly 【LV3】 @回复

    分享用的上的,自用
    文件:autohotkey\autokey.ahk (溶入)
    格式为:2021年12月23日
    快捷键:Ctrl+Shift+/
    写法样式(老)
    ^+/::send %A_YYYY%年%A_MM%月%A_DD%日

    新版更好样式
    ^+/::
    Send, %A_YYYY%年%A_MM%月%A_DD%日
    return

    格式为:2021-12-23
    ^+/::
    Send, %A_YYYY%-%A_MM%-%A_DD%
    return

    格式为:收集日期:2021-12-23
    快捷键:Ctrl+Shift+Alt+/

    ^+!/::
    Send, 收集日期:%A_YYYY%-%A_MM%-%A_DD%
    return

    .ahk文件3个命令内容汇总如下:
    ^+/::
    Send, %A_YYYY%-%A_MM%-%A_DD%
    return

    ^+!/::
    Send, 收集日期:%A_YYYY%-%A_MM%-%A_DD%
    return

    ^+!;::
    Send, %A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%:%A_Sec%
    return

  2. Xerxes
    Xerxes 【LV2】 @回复

    您好,最近在读您onenote相关的所有文章,受用匪浅,并且最近在使用ahk,并且试图还原您使用的一些脚本,希望能不吝赐教,如果可以的话,能否分享一下您常用的ahk文件,如果您觉得不合适的话,能否留个邮箱便于请教您呢?
    比如我现在在做目录生成页面并互链,现在遇到了没办法按行自动读取OneNote的文本,只能手动按行来一键模拟操作,但这样也在如何互链方面遇到难题,相似的问题还有很多,而ahk官网教程也缺乏很多细节,网络上相关问题不多,实属能力有限,因此希望能得到您的帮助。 [害羞]

    • 小斯
      小斯 【LV6】【站长】2020-08-23 at 21:07  回复

      @Xerxes在已发文章中提到过的脚本,原本就是打算分享的,只不过没啥反响,就没有花时间整理。分享脚本就得整理说明文档,如果需要的人很少,那分享的意义也就不大了,因为实在太费时间了。看情况吧,有时间也可能会慢慢整理出来的。之前已经分享过一些AHK资源,其中,帮助文档相当详细,能解决很多问题。另外,互链目录这种以onenote为主体的功能,用AHK效率较低,最好用Onetastic实现。
      已发文章的相关交流,在原文下的评论区讨论就行,一般都会回复的。

      • Xerxes
        Xerxes 【LV2】2020-08-24 at 00:34  回复

        @小斯感谢回复,那这样的话请问可以分享下刚刚提到的ahk和Onetastic的源文件吗,公众号回复或者各种网盘链接都可以,不用做说明文档也可以,因为具有一定的c语言编程基础,而且ahk官网教程上各种函数的用途都能找到,我自己也可以做一定的修改,只要是能运行的脚本,无论是学习还是使用方面都会很有帮助。
        主要还是很难找到像您一样把ahk和onetastic这样融汇贯通还分享出来的人,很难流畅的做出所需要的脚本,基于您在公众号里面放的贴边隐藏脚本,我学会了您用的很多函数的方法,今天还应用了一些做了需要的脚本,真的非常感谢您。

        • 小斯
          小斯 【LV6】【站长】2020-08-24 at 08:18  回复

          @Xerxes那好。近期整理一下,写几篇Onetastic的入门文章,然后开始陆续分享提到的脚本。因为脚本的功能是高度私人化的,分享前必须得做一定说明,否则会造成困扰的,毕竟大家的基础各不相同。至于反响方面,大家对实用类的通用功能比较关注,对这种三方拓展的功能缺乏兴趣。可以理解,对新事物是会比较排斥,但如果肯慢慢了解,情况才可能不一样。

          抽些时间,争取在月底这几天,将Onetastic入门篇和相应脚本分享出来。

          • Xerxes
            Xerxes 【LV2】2020-08-24 at 14:27  回复

            @小斯感动,那我就期待您的分享啦~不过确实,大家都喜欢直接能用的通用性的东西,这也不是什么坏处,但研究原理再订制真正私人化的东西的妙处也是只有苦心钻研者才能享受的啦。

    • 小斯
      小斯 【LV6】【站长】2020-08-23 at 21:17  回复

      @Xerxes极少用邮箱,但网站基本每天都会上。所以,在这里留言能最快得到回复。

      • Xerxes
        Xerxes 【LV2】2020-08-24 at 01:07  回复

        @小斯另外我是这几天买数位板准备使用onenote做笔记才关注的本站,站长的cas理论真的非常符合我的观念,可惜执行层面一直欠一些火候,您的文章我也会一直关注,改变自己的思维习惯,因为打算长期关注,我还想了解一下,ahk相关的文章评论区里多次提到反响的事情,也可能是网站不显示隔时间很长的评论?似乎大家都评论的不多,不知道除了网站评论区是否还有其他途径给您反馈呢?如果有qq群论坛类似的渠道,因为关注您的人应该多半是一些具有同质特性的人,我认为还是很值得更深入的参与的。

        • 小斯
          小斯 【LV6】【站长】2020-08-24 at 08:28  回复

          @Xerxes我的重心主要放在网站,在这里可以进行最集中、全面的交流。onenote用户虽然也不算少,但多数应该只是定位于普通笔记本,打算深入研究或交流的人很少,这没办法。现阶段,还是按照规划慢慢输出文章,碰到感兴趣的,大家一起交流。

          • Eric的八爪鱼
            Eric的八爪鱼 【LV1】2020-08-26 at 13:45  回复

            @小斯站长的网站里很多东西都非常有帮助,不过有一些深度内容可能不是很多人需要。十分期待那些简单实用的脚本分享,比如一键统一图片尺寸,清除所选段落链接这种。

          • 小斯
            小斯 【LV6】【站长】2020-08-26 at 15:22  回复

            @Eric的八爪鱼[OK] 接下来会慢慢分享这些具体的脚本

          • Eric的八爪鱼
            Eric的八爪鱼 【LV1】2020-08-28 at 22:40  回复

            @小斯十分期待站长的分享喔