blmfkz 发表于 2010-11-14 19:41:14

【已解决】au3的程序可以自己解释一段au3命令组成的字符串吗?

本帖最后由 blmfkz 于 2010-11-15 22:27 编辑

如:
$a='MsgBox(0,"Test,"Test")'

怎么让这个字符串MsgBox运行,想在局域网通信中使用,这样发送给对方的命令就不用自己一条一条的解释

chenronting 发表于 2010-11-14 20:38:56

可以的吧。只是不能直接发送这种
大概可以发成这样:MSGBOX = 32 + 4,标题,内容
之后,让C端弄个程序来读语句的头部,如果是以 MSGBOX 开头就把=后面的内容读去
再用正则之类的东西,把他们分开。得到的应该是:
3
32+4
标题
内容
这样你就可以用这个变量来MSGBOX出来让用户看了。
如: msgbox($var,$var,$var)

简单的代码。$var = 'MSGBOX = 32+4,标题,内容'
If StringLeft($var,6) = 'MSGBOX' Then $var = StringSplit($var,",")
$varx = StringSplit($var,'=')
$var = $varx
MsgBox($var,$var,$var)

xianhou 发表于 2010-11-14 21:31:48

1 直接发送 exe 过去
2 直接发送 au3 过去
3 发送字符串过去,接收后filewriteline到au3,再执行。

kood481748 发表于 2010-11-14 23:02:15

我觉得应该是要发送字符串过去,然后那边再来解释,这才是合情合理的。

就像我们打开网页,我们输入网址,服务端发送该网址的html代码出来,然后客户端的IE浏览器再把这些html代码解释出来,这才形成网页。你见过哪个服务器直接把html代码解释完了以后,再发一张该网页的图片出来?

pusofalse 发表于 2010-11-15 01:42:20

楼上几位都没有好好看帮助或搜索论坛。Execute函数就是为此而设计的啊。 - -|||

qq3911909 发表于 2010-11-15 02:16:10

受教了。。怎么做发送和接受呢

blmfkz 发表于 2010-11-15 21:31:55

回复 5# pusofalse



Execute
--------------------------------------------------------------------------------

执行一个表达式(主要用于数学求值).

$a=1
$v=Execute("$a+1"); $v 被设置为 2


这个我测试过不行,我的au3版本还是3.3
如:Execute('MsgBox(0,"","")')

republican 发表于 2010-11-15 21:42:57

Execute('MsgBox(0,"","")')

测试可行..
3.3.6.1

chenronting 发表于 2010-11-15 21:51:05

回复 5# pusofalse


    谢谢, 让我学到很多。
页: [1]
查看完整版本: 【已解决】au3的程序可以自己解释一段au3命令组成的字符串吗?