用AutoHotKey自动登录Total Commander未注册版老脚本更新
本帖最后由 laozhhaiJohn 于 2021-3-14 12:34 编辑用AutoHotKey自动登录Total Commander未注册版
网上流传老脚本的更新
一、软件说明:
AutoHotKey是一个类似于按键精灵的但更强大的自动化编程软件,姑且简称ahk吧。国外同类同源的还有AutoIt。
Total Commander是一个老牌资源管理器类软件,简称TC。
TC未注册版本启动后提示页面需要未注册用户根据提示随机点击1、2、3按钮中的一个。
现在想使用ahk自动登录未注册版tc。
二、学习查找:
查阅网络上有关利用ahk自动登录tc的文章,这里以这篇为例:
将其代码复制粘贴到文本文件,并将文本文件改名为.ahk后,运行,结果弹出注册说明,没有达到自动登录tc的目的。
三、试验调试:
1、仔细检查其代码,发现问题是该文章及其引用的文章等流传年代较久远,同时没有使用ahk官方推荐的语法和命令。因此,有必要对其改造。
笔者也是初学者,下面若有谬误,请大佬和同好不要耻笑。
该网页的源代码如下:
Run tc
WinWait, ahk_class TNASTYNAGSCREEN
WinGetText, Content, ahk_class TNASTYNAGSCREEN
StringMid, Num, Content, 10, 1
ControlSend,, %Num%, ahk_class TNASTYNAGSCREEN
return
2、为了了解ahk命令和命令执行效果(也就是所谓调试过程吧),我改写该程序如下:
#z:: ;指定运行热键为 win + z
Run, d:\Program Files\TotalCmd\TOTALCMD64.EXE ;运行tC程序
WinWait, ahk_class TNASTYNAGSCREEN;等待未注册提示窗口
sleep 800;稍等一下
WinGetText, 文本内容, ahk_class TNASTYNAGSCREEN;获取该窗口的文本信息
msgbox,%文本内容%
得到随机数 := SubStr(文本内容, 1, 1);获取文本内容从第一个字符开始的1个字符
得到随机数2 := SubStr(文本内容, 1, 2);获取文本内容从第一个字符开始的2个字符
得到随机数3 := SubStr(文本内容, 1, 3)
得到随机数4 := SubStr(文本内容, 1, 4)
得到随机数5 := SubStr(文本内容, 1, 5)
msgbox,%得到随机数% ;提示框显示该值
msgbox,%得到随机数2%
msgbox,%得到随机数3%
msgbox,%得到随机数4%
msgbox,%得到随机数5%
;ControlSend,, %Num%, ahk_class TNASTYNAGSCREEN
ControlSend,, %得到随机数%, ahk_class TNASTYNAGSCREEN;向注册框发送该值
return
其中关键的地方是将官方不推荐使用的StringMid命令替换为SubStr命令。
同时,为了验证该命令结果,增加了“得到随机数”及其他几个截取值,并通过msgbox文本提示框
显示出这几个值。
经验证:源程序中: StringMid, Num, Content, 10, 1这一语句失效。
改用: 得到随机数 := SubStr(文本内容, 1, 1) 该程序段运行完美!!
最终完美运行代码如下:
#z:: ;指定运行热键为 win + z
Run, d:\Program Files\TotalCmd\TOTALCMD64.EXE ;运行tC程序,请自行根据自己tc安装目录修改
WinWait, ahk_class TNASTYNAGSCREEN;等待未注册提示窗口
sleep 800;稍等一下
WinGetText, 文本内容, ahk_class TNASTYNAGSCREEN;获取该窗口的文本信息
得到随机数 := SubStr(文本内容, 1, 1);获取文本内容从第一个字符开始的1个字符
ControlSend,, %得到随机数%, ahk_class TNASTYNAGSCREEN;向注册框发送该值
Return
用Total Commander有十多年了,只不过一直都是老版本破解,这软件也有些历史了 相当于手机版的autojs? surprises 发表于 2021-3-14 13:41
相当于手机版的autojs?
{:1_921:}{:1_921:}{:1_921:} 抱歉,哈哈,我对手机的了解不多
页:
[1]