找回密码
 加入
搜索
查看: 8961|回复: 19

[AU3基础] autoit脚本程序有没有可能运行从外部读到的代码?

 火.. [复制链接]
发表于 2010-3-27 20:08:26 | 显示全部楼层 |阅读模式
比如怎么读取一个外部的txt文档里的一段代码,加入到自身程序里当作程序的代码执行。
或者从网络上取代码,然后执行

评分

参与人数 1金钱 +12 贡献 +1 收起 理由
lynfr8 + 12 + 1 好问题

查看全部评分

发表于 2010-3-27 20:12:24 | 显示全部楼层
本帖最后由 afan 于 2010-3-27 20:14 编辑

Execute()
 楼主| 发表于 2010-3-27 20:19:07 | 显示全部楼层
本帖最后由 manlty 于 2010-3-27 20:20 编辑

版主,可能我表达的问题,您没仔细看明白
我是说,假如我将一个函数的代码放到网络上,让客户的脚本程序去读(客户的程序里没有这个函数,换句话说,我可以随时改变远端的这个函数的算法,客户端读取代码后执行),然后执行这个函数,能实现吗
发表于 2010-3-27 20:24:31 | 显示全部楼层
我大概知道意思了,先下载函数脚本文件,在本地执行
 楼主| 发表于 2010-3-27 20:28:29 | 显示全部楼层
问题是,远端的这个只是一段代码,而不是编译好的程序啊。客户下载下来,也运行不了啊。有没有巧办法?
 楼主| 发表于 2010-3-27 20:29:35 | 显示全部楼层
autoit的程序允许将外部获取的一段字符当作一段程序代码来执行吗?
发表于 2010-3-27 20:33:07 | 显示全部楼层
将 AutoIt3.exe (及函数库) 一起打包到客户端程序里面,应该就能够执行了。没试过~
发表于 2010-3-27 20:43:13 | 显示全部楼层
我刚才卸载了Au3,直接用AutoIt3.exe 运行脚本文件,测试可行~

评分

参与人数 1金钱 +20 收起 理由
pusofalse + 20 赞佩。

查看全部评分

 楼主| 发表于 2010-3-27 20:51:35 | 显示全部楼层
谢谢版主,
不过我的应用是,远端的这部分代码是整个程序中一部分,只不过被我人为拆开了,将最重要的核心的部分放到远端了,所以远端的代码并不适合当作一个单独的脚本程序去运行,因为还有另一部分在客户的程序里,这拆开的两部分是组成完整的一个程序的不可分割的两部分,因为,他们之间还有逻辑关系,全局变量的共享等等
我还是想问版主,有没有可能将分开的代码重新组合后执行。
发表于 2010-3-27 20:56:31 | 显示全部楼层
回复 9# manlty


    那总也得有个可执行程序吧,呵呵~
不懂,等高人来解决吧,我只是菜鸟一个
发表于 2010-3-27 21:55:54 | 显示全部楼层
远端的这部分代码是整个程序中一部分,只不过被我人为拆开了,将最重要的核心的部分放到远端了,所以远端的代码并不适合当作一个单独的脚本程序去运行,因为还有另一部分在客户的程序里,这拆开的两部分是组成完整的一个程序的不可分割的两部分,因为,他们之间还有逻辑关系,全局变量的共享等等
我还是想问版主,有没有可能将分开的代码重新组合后执行。

---------------------------------------------------------------------------------------------------------
应该是可以的
思路:
1.服务器存放着最重要的核心的部分代码,代码存放格式就是普通的txt就行了
2.客户程序代码主要是执行下载核心代码、编译合并后代码、生成可执行代码
3.非核心代码可以以变量模式存在主程序里,然后下载核心代码到本地硬盘一些比较隐藏的角落(如路径比较深的系统文件夹),然后主程序执行读取并合并两部分代码为au3,再编译为exe
4.当执行完毕你可以删除存放在本地硬盘的核心代码
 楼主| 发表于 2010-3-27 23:21:12 | 显示全部楼层
有没有更巧的办法,楼上的办法需要客户端装au3,要不怎么编译啊
发表于 2010-3-28 11:41:27 | 显示全部楼层
网络程序要比想象的复杂
程序代码能够正常执行是因为其确定性
如果代码放到网上延时问题将会使程序锁死
除非另外创建线程如果另外创建线程不如直接再运行一个程序算了

google 的翻译引擎函数好像就是放在服务器上的 但是这对服务器的要求也太高了
 楼主| 发表于 2010-3-28 13:10:48 | 显示全部楼层
楼上的行家,先不探讨网络延时等因素,理论上能不能找到办法实现代码从外部注入程序然后一并运行
发表于 2010-3-28 13:20:58 | 显示全部楼层
有没有更巧的办法,楼上的办法需要客户端装au3,要不怎么编译啊
manlty 发表于 2010-3-27 23:21


不用安装au3也可以编译的
传送门http://www.autoitx.com/viewthrea ... hlight=%B1%E0%D2%EB
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 18:01 , Processed in 0.195951 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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