×用微信扫描并分享

AHK 快餐店[13] 之 秒表

20
1 Star2 Stars3 Stars4 Stars5 Stars(快来投票)
Loading...

上回我们学会了怎么秒杀窗口。

继续故事,今天刚好是 Windows 小镇一年一度的环镇自行车大赛。起点桌面广场,途径 A 盘、C 盘、D 盘……Z 盘,最后回到桌面广场。在这比赛开始前的十分钟,突如其来的一场临时大暴雨把裁判们手里的计时器全部摧毁鸟~

在这个关键时刻,有一个人,当然是掌柜我啦,拿来了一个好东西,秒表:StopWatch。比赛得以圆满完成。

StopWatch 是掌柜我在 AHK 的官方论坛无意间看到的这里下载 StopWatch.ahk。该脚本使用非常简单,我就不汉化了。StopWatch 功能可做得够全的:改变文字或背景颜色、改变界面文字大小、窗口置顶、热键控制。我从脚本里面挑选了几处精彩的代码和大家分享。

#SingleInstance Force
; 如果你运行了某个脚本,然后再运行一次的话,会弹出一个对话框,问你是否重新启动该脚本,一般我们都会点击是。如果你想忽略这个窗口,又想让 ahk 自动选择是的话,就用这句。
#Persistent
; 保持一个脚本的永久运行,直到用户退出。在只有 SetTimer (循环运行某个代码段)的脚本里面必备。

……

; 下面是如何读取 ini 文件,ini 文件一般是用来保存设置用的。
IfNotExist, %A_WinDir%\System32\StopWatch.ini
; A_WinDir 是 AHK 自带变量,用来找到当前 Windows 的安装目录。因为不一定每个人的 Windows 都是安装在 C 盘的。这句是用来判断存不存在配置文件。
   {
   IniWrite, Center, %A_WinDir%\System32\StopWatch.ini, Settings, xPos
   ; IniWrite 是修改/创建 ini 里面的字段用的,如果某个 ini 不存在,会自动创建。上面这句就是对应 ini 文件中的:

    [Settings]
    xPos=Center

一般的 ini 文件的结构是这样的:

    [小节名1]
    字段1=值1
    字段2=值2

    [小节名2]
    字段3=值3
    ……
    }

IfExist, StopWatch.ini
   {
   IniRead, xPos, StopWatch.ini, Settings, xPos
   ; 读取 StopWatch.ini 中的 Settings 小节下的 xPos 字段,并把读取到的值赋给 xPos(第一次出现的 xPos)
    ……
    }

; 下面的代码也是非常值得大家学习的。

F9::
; 这个是快捷键的设定
Start:
; Start 代码片段的开始
ButtonStart:
; ButtonStart 代码片段的开始
……
Return
; 这样写的话,就可以共用同样的代码断啦。

今天的快餐店就是这样啦。回去要多多复习本系列教程哦。

下回预告:AHK 快餐店[14] 之 复制粘贴,右键加左键

×用微信扫描并分享

已有 20 条评论, 我要留言

  1. poboat说道:

    有没有倒计时的脚本呢?

  2. sfufoet说道:

    要倒计时的啊,我找找去。

  3. damao说道:

    不知道是否为feedsky的什么比赛项目,要是小众再接着写这种东西,一个月内我就用不着来看了

  4. sfufoet说道:

    @damao,多谢你的抗议。连载了这么久,你是第一个。AHK 的确是很小众的东西,这两天 scavin 去参加年会了。连载期间,scavin 还是会按照他的频率更新大家喜欢的绿色软件的。所以不用担心。

    这个不是 fs 的比赛,fs 哪里敢出软件类话题,出了不是等于把奖品给小众?

  5. plato说道:

    哈,提个建议,写的风格太啰嗦了:)

  6. poboat说道:

    是呀~~~谢谢sfufoet

  7. sfufoet说道:

    @poboat,这里有一个简单的倒计时脚本。

  8. sfufoet说道:

    @plato,啰嗦?你是说讲故事部分啰嗦?还是代码说明啰嗦?

  9. scavin说道:

    或者说是换个方式,不要讲故事,直接进入正题

  10. Dofy说道:

    ; 倒计时10秒, 可以修改 timer 的值
    timer := 10
    loop %timer%{
    traytip, Timer, % –timer, 10, 1
    soundbeep
    sleep 1000
    }

  11. plato说道:

    代码很好,就是讲故事看起来有点哪个,哈

  12. 大猫说道:

    最近都是代码型小软,嘻嘻
    暗暗收下

  13. 夏明说道:

    在读完几篇之后我就感觉到了这个软件符合我的口味,它是一个可以让我摆脱枯燥的操作的一个好软件!在用完后我感觉,认真读完这篇文章的人并且喜欢上的,能自己去摆弄摆弄成符合自己使用习惯的人,都是linux的潜在用户!这个软件的核心思想跟linux是何其相似!

  14. helfee说道:

    @Dofy,traytip不显示啊
    改成这样显示了..
    traytip, Timer, % timer-A_Index

  15. poboat说道:

    To Dofy,tks 先收下,一会去试。

  16. […] 上回介绍了一个秒表,并教大家怎么读写 ini 文件。 […]

  17. kk说道:

    #Persistent
    ; 保持一个脚本的永久运行,直到用户退出。在只有 SetTimer (循环运行某个代码段)的脚本里面必备。

    不一定必备的 SetTimer 可以没有#Persistent

  18. 咖啡小冰说道:

    找“窗口置顶”功能的脚本

有不同想法?说说看(首次评论会被人工审核,请耐心等待)