image里的图片为不啥不能编译进EXE文件里?
本帖最后由 shqf 于 2009-10-22 07:42 编辑新学AUTOIT,请问image控件里的图片为不啥不能编译进EXE文件里?我在本机运行有图片能显示,换台电脑运行,就不能显示那个图片了.我用的是这样的语句 $Pic1 = GUICtrlCreatePic("c:\pic.jpg", 184, 96, 187, 187, 0) :face (29): 用FileInstall 把图片打包至EXE里,怎么用看下帮助就知道了! :face (29): 用FileInstall 把图片打包至EXE里,怎么用看下帮助就知道了!
那片叶子 发表于 2009-10-20 22:36 http://www.autoitx.com/images/common/back.gif
这不过是骗人的把戏,运行时会自动释放出来的。 谢谢二楼的回答,autoit还有没有更好的办法呢?实在没其他好办法,只好用fileinstall把图片打包至EXE里。只是运行时会释放出这个图片文件,看着有点儿不爽唉。 本帖最后由 netegg 于 2009-10-21 20:12 编辑
脚本是处理不了内部资源的,表达可能不大准确,大概意思吧
给你个建议,如果想那么做的话,把图像整个转换成二进制代码,然后还原 第1种办法把图片塞到DLL里
第2种办法把图片发布到网站上 本帖最后由 shqf 于 2009-10-22 07:41 编辑
我找到一了个较好的方法,应该是编译进EXE文件里,运行时没见释放出来的,用到的UDF是resources.au3,见
http://www.autoitscript.com/forum/index.php?showtopic=51103&hl=
具体如下,拷贝resources.au3至include目录下,在安装目录里找到ResHacker.exe和upx.exe拷贝于脚本文件所在目录,然后在脚本里加入如下代码:
#AutoIt3Wrapper_useupx=n
#AutoIt3Wrapper_run_after=ResHacker.exe -add %out%, %out%, 9210.jpg, rcdata, JPG, 0
#AutoIt3Wrapper_run_after=upx.exe --best --compress-resources=0 "%out%"
再加#include <resources.au3>
再在$Pic1 = GUICtrlCreatePic("", 184, 96, 187, 187, 0)句后面加上
_ResourceSetImageToCtrl($pic1, "JPG")
脚本运行时没加载图片的,但编译后文件运行有图片。 好东西,学习了,谢谢! 正好用到它,谢谢! 我按你的方法试了,可是没有用的啊。
页:
[1]