xms77
发表于 2012-11-15 21:11:51
回复 2# annybaby
补充一点:
5.容易被一些杀毒软件误报病毒
vuivui
发表于 2012-11-16 14:50:38
本来au3就是c++编的一个程序
cntxp
发表于 2012-11-26 17:02:07
感谢各位高手的讨论
尤其是edisonxnetegg annybaby等对这个问题做的深入探讨
这个问题还是比较有意义的
看到论坛很多各种应用,感觉并非用autoit写是最合适的
大家用得是否有点跑偏了 可能是因为autoit越来越强大
涉及面越来越多的原因吧,反而忽略了他实际用来干什么更好
cntxp
发表于 2012-11-26 17:05:45
回复 31# xms77
这个确实也是个问题,上次辛苦写了个程序出来免费分享放在一个论坛上,
被人说楼主真下流,居然放毒,无语。。。
这个不知有解决办法吗?不让杀软报毒。
seeking
发表于 2012-11-26 21:24:59
我觉得au3的优势是能快速开发小程序,大程序就算了。
xms77
发表于 2012-11-26 21:46:21
回复 35# seeking
我也是这么认为滴,不要求效率的地方,方便快捷,能够满足一般的要求了!
魔导
发表于 2012-12-3 23:31:48
AU3 CC++或其他的
完美吗?
强大吗?
适用吗?
个人偏见 这第三个问题更有意义
飞机快 还是火车快?
80公里要坐飞机吗?
100000要坐火车吗?
看楼主要做什么了 {:face (411):}
netegg
发表于 2012-12-5 21:00:25
本帖最后由 netegg 于 2012-12-5 21:56 编辑
说白了,autoit最大的不足在于还要自己想,还要自己敲键盘
ceoguang
发表于 2012-12-6 04:21:06
回复 25# seeyou
#PRE_UseX64=n
Const $tagNode = 'int id;ptr next'
Local $aNode =
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->next = $aNode,$aNode->next = $aNode,$aNode->next = $aNode
;但最后一个节点无指向,为0(NULL),因为DllStructCreate会在内部进行被始化
Local $pList = DllStructGetPtr($aNode);表头,这里假设上面的代码全是不可见的,只知道链表表头的地址,有多少个节点我们也不知道
;问题:已知链接表头为$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)