以我上篇发的为例
托盘图标相关操作对象化及演示
托盘图标.ahk内容如下
Class 托盘图标{ bian(tubiao,hao) { Menu, Tray, icon, %tubiao%, %hao% ;改变正常状态图标 } __Set(P,Bu) { if InStr("show,xianshi,可见", P){ if Bu Menu, Tray, icon else Menu, Tray, Noicon return Bu } if InStr("ding,dongjie,冻结", P){ ;冻结当前图标 if Bu Menu, Tray, icon, , , 1 else Menu, Tray, icon, , , 0 } else MsgBox,未知属性:%P% return Bu } } ;Class 托盘图标
调用时候只需:
#SingleInstance,force #Include,托盘图标.ahk ;#NoTrayIcon TT:=new 托盘图标 #c:: Suspend,Permit Sleep 2000 TT.show:=A_IconHidden Sleep 2000 TT.ding:=1 Suspend,Toggle Sleep 2000 TT.bian("shell32.dll",200) Sleep 2000 TT.dongjie:=0 Sleep 2000 TT.冻结:=true Suspend,Toggle Sleep 2000 TT.DongJie:=false TT.哎呦:=true return
这样用起来似乎更简洁一点,而且因为一个脚本只建立一个托盘图标,也就是说,只需要一个托盘图标对象,那么
TT:=new 托盘图标
这句也可以放进 托盘图标.ahk
观察一下
首先,我们只想控制系统的托盘图标,然而每次语句都要以 Menu, Tray, icon 开头,麻烦!
其次,冻结/解冻图标 Menu, Tray, icon, , , 连续三个逗号,不便记忆!
所以对象方式,个人觉得更加舒服一点。
另一个想法是:把频繁使的对象合进一个 库ahk,然后主窗Include即可。
思路很好!其实类这块我一直没出教程,就是觉得自己出不好!希望有时间将类和函数对象的知识整理一下!
1