如何执行变量的内容?
例如$var="msgbox(0, ""aaa"", ""bbb"")"有没有简单的方法或命令可以直接调用/执行$var内的命令?即出来的效果等于msgbox(0, "aaa", "bbb").
[ 本帖最后由 andywth 于 2008-6-20 23:27 编辑 ] 如果要执行的命令是简单的运算,用execute就行了,比如:
$a=1
$v=Execute("$a+1"); $v is set to 2
但若是需要用到函数,比如楼主举的那个例子,那这条路就走不通了。
不过利用Autoit的命令行可以勉强实现:
Form4: AutoIt3.exe /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 ......
我貌似正在写一个木马...哈哈...
谢谢2楼的帮助,我后来还是放弃直接调用执行变量的内容了,加了一些代码,复杂了点,但也达到了我要的效果了.
页:
[1]