找回密码
 立即注册
搜索
查看: 2115|回复: 18

[软件] AUTOIT3这种语言,在现代编程环境有没有什么更好的选择?

[复制链接]
     
发表于 2019-2-3 10:06 | 显示全部楼层 |阅读模式
本帖最后由 spikedingo 于 2019-2-3 15:00 编辑

LZ以前发过贴,来泥潭咨询自动化软件,先被推荐了auto hot key,然后顺藤摸瓜找到了autoit,发现相性不错就继续深入了解
这段时间用下来发现这套语言虽然冷门,但实在强大,自己的需求继续全部满足,甚至还能用它创收

* 读取/写入excel
* 通过句柄/标题等属性获取windows软件窗口并操作
* 对非标控件使用相对坐标方式操作
* 获取串口数据(第三方控件)
* 自行编写窗口GUI
* 连接sql server数据库,进行增删查改操作(COM库)
* 查找windows文件,写入相关信息到ini或者log

国内的论坛上的不多,但是基本上踩得坑都通过谷歌在国外那个autoit论坛上获得答案,而且那个社区也十分活跃,资源很多

所以虽然是冷门语言,生态还是十分丰满的

发这个帖子也是想抛砖引玉一下,毕竟这门语言只是有需要的时候才使用,深入学习的话,是不是找一个更加现代化一些的语言更好,毕竟autoit本身写起来,也有很多恶心的地方,比如看GUI窗口代码时,简直要把眼睛看花

所以想了解下,现在有没有更好的替代品语言(比如python?),或者实现上述功能前提下,能提供更加灵活开发方式与可能性的专业windows开发方向? 因为在今后工作中为了更加应用自动化减少工作量,会在windows下跟sql server打交道比较多

请泥潭资深程序猿们赐教
回复

使用道具 举报

头像被屏蔽
     
发表于 2019-2-3 10:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2019-2-3 12:23 来自手机 | 显示全部楼层
py可以实现大部分,少部分还是ahk这种好用

— from Sony G8441, Android 9 of S1 Next Goose v1.3.1.0-play
回复

使用道具 举报

头像被屏蔽
     
发表于 2019-2-3 12:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2019-2-3 13:33 来自手机 | 显示全部楼层
感觉你说的那些*,python都能满足的样子

至于说autoit小众,大概还是因为这个细分领域本身就小众的原因

—— 来自 Xiaomi MI 6, Android 8.0.0上的 S1Next-鹅版 v2.1.2
回复

使用道具 举报

     
 楼主| 发表于 2019-2-3 14:03 来自手机 | 显示全部楼层
如果py都能实现并且学习曲线不错的话,还是果断换成学py啊
回复

使用道具 举报

     
发表于 2019-2-3 14:28 | 显示全部楼层
windows 上powershell + c# 功能最强。com 部分可能需要学些c++ 才方便理解。
python 的优势是语法简洁易懂。如果不是非要用到windows 的api,都推荐python。
回复

使用道具 举报

     
 楼主| 发表于 2019-2-3 15:06 | 显示全部楼层
RAMDA 发表于 2019-2-3 13:33
感觉你说的那些*,python都能满足的样子

至于说autoit小众,大概还是因为这个细分领域本身就小众的原因

另外我觉得这个细分领域可说小众但也挺广泛的

上次就是为了一个重复数据录入的工作动了找自动化工具的念头,可编程实现更加底层的方式来确保动作执行比仅仅靠按键精灵获取坐标点击要靠谱多了。

我觉得这个在工作中应该应用很广的吧,有点编程基础的,使用仅仅一个脚本语言的复杂度就可以自己弄一些绕开工作中各种繁琐操作的捷径,需要考虑的只在于按需所取各种api

我最近的一个应用,就是为自己单位体检软件开发一个接口数据获取并录入体检系统的工具,找his供应商不愿意做,因为太定制化了,就自己使用autoit来编写接口软件,虽然没有按照一堆各种标准来搞,但最终成品是实实在在方便了体检医生的工作的
回复

使用道具 举报

     
发表于 2019-2-3 17:27 | 显示全部楼层
spikedingo 发表于 2019-2-3 15:06
另外我觉得这个细分领域可说小众但也挺广泛的

上次就是为了一个重复数据录入的工作动了找自动化工具的念 ...

冷门语言最**烦是出问题了找不到解决方案。

你这自动化做某事的需求,说是语言功能其实调的是操作系统功能,推测大致是获取按钮和文本框来判断,或者钩键盘和鼠标来判断。只要能调windows api 就能做。也许已经有人封装好做成库了。

学windows核心编程更好一点。
不过windows之前的御用语言是c++,可能门槛有些高。
回复

使用道具 举报

     
发表于 2019-2-3 17:30 来自手机 | 显示全部楼层
没有。如果觉得脚本太难受,你可以用其他应用给au做模块进行调用,也可以用其他应用调用编译好的au。要不然就按键精灵吧
回复

使用道具 举报

头像被屏蔽
     
发表于 2019-2-3 19:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2019-2-4 20:47 | 显示全部楼层
一直在用AHK
请问autoit比AHK好在哪?
回复

使用道具 举报

发表于 2019-2-4 21:01 | 显示全部楼层
windows gui编程就是这么恶心的
如果你看原生c/c++调用api, 大概比autoit恶心一万倍
python毕竟不是专门搞win gui的, 论方便是不存在的

真的要走win gui码农线建议先看c/c++, c#调用api还是太麻烦了
回复

使用道具 举报

     
发表于 2019-2-5 10:11 来自手机 | 显示全部楼层
Windows有少量窗口用direct2d做的,autoit和ahk都没法用了。。。
回复

使用道具 举报

     
发表于 2019-2-5 10:15 来自手机 | 显示全部楼层
最后只能直接操作wmi,你这一套建议用纯代码处理的解决方案比较好,顶多做一个界面调调参数,跟gui打交道太麻烦了。
回复

使用道具 举报

     
发表于 2019-2-5 11:00 | 显示全部楼层
我之前写了一个多显示器自动桌面幻灯片的程序,感觉nodejs+electron+react写GUI,用edgejs的c#写winapi交互是最科学的。说到底html5+css3这一套ui layout我觉得是真爽
不用edgejs用c/c++写addon也行,就是学习曲线有点高加上每次都要重新gyp编译一遍
回复

使用道具 举报

     
发表于 2019-2-6 09:47 | 显示全部楼层
YoumuChan 发表于 2019-2-5 11:00
我之前写了一个多显示器自动桌面幻灯片的程序,感觉nodejs+electron+react写GUI,用edgejs的c#写winapi交互 ...

每次用electron的软件我都感觉内存在泄漏
回复

使用道具 举报

     
发表于 2019-2-6 10:00 | 显示全部楼层
你上面提到窗口交互的部分 我觉得换用别的通用语言(py、c#之类的)只会更麻烦
读写文件这些倒是可以
回复

使用道具 举报

     
发表于 2019-2-6 10:43 | 显示全部楼层
拜拜 发表于 2019-2-6 09:47
每次用electron的软件我都感觉内存在泄漏

本质chrome嘛...chrome吃内存的那个尿性...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-16 22:27 , Processed in 0.093292 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表