找回密码
 加入
搜索
楼主: 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

  1. #PRE_UseX64=n
  2. Const $tagNode = 'int id;ptr next'
  3. Local $aNode[4] = [DllStructCreate($tagNode), DllStructCreate($tagNode), DllStructCreate($tagNode), DllStructCreate($tagNode)]
  4. For $i = 0 To 3
  5.         DllStructSetData($aNode[$i], 'id', $i+1)
  6.         If $i < 3 Then
  7.                 DllStructSetData($aNode[$i], 'next', DllStructGetPtr($aNode[$i + 1]))
  8.         EndIf
  9. Next
  10. ;至此形成一个单向表,$aNode[0]->next = $aNode[1],$aNode[1]->next = $aNode[2],$aNode[n]->next = $aNode[n+1]
  11. ;但最后一个节点无指向,为0(NULL),因为DllStructCreate会在内部进行被始化
  12. Local $pList = DllStructGetPtr($aNode[0]);表头,这里假设上面的代码全是不可见的,只知道链表表头的地址,有多少个节点我们也不知道
  13. ;问题:已知链接表头为$pList,要求输出节点中的id成员为3的下一个节点中的id成员的值
  14. ;解答:
  15. Local $tBuffer
  16. While ($pList)
  17.         $tBuffer = DllStructCreate($tagNode, $pList);以        $tagNode 结构形式来读取$pList,这里$pList是一个真实的内存地址
  18.         If DllStructGetData($tBuffer, 'id') = 3 Then;if(pList->id == 3)
  19.                 $pList = DllStructGetData($tBuffer, 'next');pList = pList->next
  20.                 If $pList Then;if(pList)
  21.                         $tBuffer = DllStructCreate($tagNode, $pList)
  22.                         MsgBox(64,'Done',StringFormat('下一个节点的ID成员值为:%d',DllStructGetData($tBuffer,'id')));pList->id
  23.                         ExitLoop
  24.                 EndIf
  25.         EndIf
  26.         $pList = DllStructGetData($tBuffer, 'next')
  27. WEnd
  28. ;验证:
  29. Local $sMsg = ''
  30. For $i = 0 To 3
  31.         $sMsg &= StringFormat('节点:%d 的id成员值:%d\n',$i+1,DllStructGetData($aNode[$i],'id'))
  32. Next
  33. MsgBox(64,'验证结果',$sMsg)
复制代码
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2026-9-26 10:17 , Processed in 0.049371 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

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