AutoHotkey 自动在文本编辑器加上指定内容

AutoHotkey笔记|自动在文本编辑器加上指定内容

最近正在进行数控实训, 但是在宿舍无法使用数控机床, 于是在网上找了一个仿真软件来练习. 可是仿真软件不能通过键盘输入, 只能通过鼠标点击编辑CNC代码, 于是打算用AutoHotkey写一个自动添加行号的辅助工具.

功能:

只要按下一个按键,就会自动输入指定内容, 如图

AutoHotkey笔记|自动在文本编辑器加上指定内容

第一版本的源代码是这样的

line=1
Enter::
    StringLen, len, line
    Send `;{Enter}N
    if(len=1){
        Send 000
    }
    if(len=2){
        Send 00
    }
    if(len=3){
        Send 0
    }
    Send %line%{space}
    line++
return 

这个程序出现了一些奇奇怪怪的问题, 比如字体变了, line的值也变得乱七八糟, 如图

AutoHotkey笔记|自动在文本编辑器加上指定内容

后来改成了这个版本, 问题解决了

line=1
Esc::
    Send `;
    Send {Enter}N
    if(line>0 and line<10){
        Send 000
    }
    if(line>9 and line<100){
        Send 00
    }
    if(line>99 and line<1000){
        Send 0
    }
    Send %line%{space}
    line++
return 

我想, 可能是用StringLen求line这个数字的长度的过程中出现了错误, 或者是使用Enter键作为热键导致出现错误.

另外我也用AutoIt写了相同功能的程序, 将在下篇文章中介绍