找回密码
 加入
搜索
查看: 2196|回复: 2

如何执行变量的内容?

[复制链接]
发表于 2008-6-20 13:32:31 | 显示全部楼层 |阅读模式
例如$var="msgbox(0, ""aaa"", ""bbb"")"
有没有简单的方法或命令可以直接调用/执行$var内的命令?即出来的效果等于msgbox(0, "aaa", "bbb").

[ 本帖最后由 andywth 于 2008-6-20 23:27 编辑 ]
发表于 2008-6-20 18:22:28 | 显示全部楼层
如果要执行的命令是简单的运算,用execute就行了,比如:
$a=1
$v=Execute("$a+1")  ; $v is set to 2

但若是需要用到函数,比如楼主举的那个例子,那这条路就走不通了。
不过利用Autoit的命令行可以勉强实现:

Form4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"
                Execute one line of code.
Run(@AutoItExe & ' /AutoIt3ExecuteLine  "MsgBox(0, ''Hello World!'', ''Hi!'')"')
为什么说是勉强呢?因为这个方法不能返回函数的返回值-_-

直接点的方法就只有这个了,如果楼主有时间的话可以用自定义函数一个一个代替原有函数,然后用Call命令调用。

另外,call命令只能调用自定义函数:

The function cannot be a built-in AutoIt function or plug-in function.


为什么Autoit要弄这么复杂呢?是因为怕你编写病毒:p
 楼主| 发表于 2008-6-20 23:25:21 | 显示全部楼层
......
我貌似正在写一个木马...哈哈...
谢谢2楼的帮助,我后来还是放弃直接调用执行变量的内容了,加了一些代码,复杂了点,但也达到了我要的效果了.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-26 18:32 , Processed in 0.069245 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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