找回密码
 加入
搜索
楼主: cntxp

[AU3基础] autoit的不足主要有哪些?

 火... [复制链接]
发表于 2012-11-15 21:11:51 | 显示全部楼层
回复 2# annybaby
补充一点:
5.容易被一些杀毒软件误报病毒
发表于 2012-11-16 14:50:38 | 显示全部楼层
本来au3就是c++编的一个程序
 楼主| 发表于 2012-11-26 17:02:07 | 显示全部楼层
感谢各位高手的讨论
尤其是edisonx  netegg annybaby等对这个问题做的深入探讨
这个问题还是比较有意义的

看到论坛很多各种应用,感觉并非用autoit写是最合适的
大家用得是否有点跑偏了 可能是因为autoit越来越强大
涉及面越来越多的原因吧,反而忽略了他实际用来干什么更好
 楼主| 发表于 2012-11-26 17:05:45 | 显示全部楼层
回复 31# xms77


    这个确实也是个问题,上次辛苦写了个程序出来免费分享放在一个论坛上,
被人说楼主真下流,居然放毒,无语。。。

这个不知有解决办法吗?不让杀软报毒。
发表于 2012-11-26 21:24:59 | 显示全部楼层
我觉得au3的优势是能快速开发小程序,大程序就算了。
发表于 2012-11-26 21:46:21 | 显示全部楼层
回复 35# seeking
我也是这么认为滴,不要求效率的地方,方便快捷,能够满足一般的要求了!
发表于 2012-12-3 23:31:48 | 显示全部楼层
AU3   C  C++  或其他的
完美吗?
强大吗?
适用吗?
个人偏见   这第三个问题更有意义
飞机快   还是火车快?
80公里要坐飞机吗?
100000要坐火车吗?
看楼主要做什么了   
发表于 2012-12-5 21:00:25 | 显示全部楼层
本帖最后由 netegg 于 2012-12-5 21:56 编辑

说白了,autoit最大的不足在于还要自己想,还要自己敲键盘
发表于 2012-12-6 04:21:06 | 显示全部楼层
回复 25# seeyou
#PRE_UseX64=n
Const $tagNode = 'int id;ptr next'
Local $aNode[4] = [DllStructCreate($tagNode), DllStructCreate($tagNode), DllStructCreate($tagNode), DllStructCreate($tagNode)]
For $i = 0 To 3
        DllStructSetData($aNode[$i], 'id', $i+1)
        If $i < 3 Then
                DllStructSetData($aNode[$i], 'next', DllStructGetPtr($aNode[$i + 1]))
        EndIf
Next
;至此形成一个单向表,$aNode[0]->next = $aNode[1],$aNode[1]->next = $aNode[2],$aNode[n]->next = $aNode[n+1]
;但最后一个节点无指向,为0(NULL),因为DllStructCreate会在内部进行被始化
Local $pList = DllStructGetPtr($aNode[0]);表头,这里假设上面的代码全是不可见的,只知道链表表头的地址,有多少个节点我们也不知道
;问题:已知链接表头为$pList,要求输出节点中的id成员为3的下一个节点中的id成员的值
;解答:
Local $tBuffer
While ($pList)
        $tBuffer = DllStructCreate($tagNode, $pList);以        $tagNode 结构形式来读取$pList,这里$pList是一个真实的内存地址
        If DllStructGetData($tBuffer, 'id') = 3 Then;if(pList->id == 3)
                $pList = DllStructGetData($tBuffer, 'next');pList = pList->next
                If $pList Then;if(pList)
                        $tBuffer = DllStructCreate($tagNode, $pList)
                        MsgBox(64,'Done',StringFormat('下一个节点的ID成员值为:%d',DllStructGetData($tBuffer,'id')));pList->id
                        ExitLoop
                EndIf
        EndIf
        $pList = DllStructGetData($tBuffer, 'next')
WEnd
;验证:
Local $sMsg = ''
For $i = 0 To 3
        $sMsg &= StringFormat('节点:%d 的id成员值:%d\n',$i+1,DllStructGetData($aNode[$i],'id'))
Next
MsgBox(64,'验证结果',$sMsg)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 20:27 , Processed in 0.077263 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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