shqf 发表于 2009-10-20 21:47:03

image里的图片为不啥不能编译进EXE文件里?

本帖最后由 shqf 于 2009-10-22 07:42 编辑

新学AUTOIT,请问image控件里的图片为不啥不能编译进EXE文件里?我在本机运行有图片能显示,换台电脑运行,就不能显示那个图片了.我用的是这样的语句 $Pic1 = GUICtrlCreatePic("c:\pic.jpg", 184, 96, 187, 187, 0)

那片叶子 发表于 2009-10-20 22:36:56

:face (29): 用FileInstall 把图片打包至EXE里,怎么用看下帮助就知道了!

四海皆狂龙 发表于 2009-10-20 23:51:23

:face (29): 用FileInstall 把图片打包至EXE里,怎么用看下帮助就知道了!
那片叶子 发表于 2009-10-20 22:36 http://www.autoitx.com/images/common/back.gif
这不过是骗人的把戏,运行时会自动释放出来的。

shqf 发表于 2009-10-21 20:01:12

谢谢二楼的回答,autoit还有没有更好的办法呢?实在没其他好办法,只好用fileinstall把图片打包至EXE里。只是运行时会释放出这个图片文件,看着有点儿不爽唉。

netegg 发表于 2009-10-21 20:09:46

本帖最后由 netegg 于 2009-10-21 20:12 编辑

脚本是处理不了内部资源的,表达可能不大准确,大概意思吧

给你个建议,如果想那么做的话,把图像整个转换成二进制代码,然后还原

xinda 发表于 2009-10-21 22:48:11

第1种办法把图片塞到DLL里
第2种办法把图片发布到网站上

shqf 发表于 2009-10-22 07:40:57

本帖最后由 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")

脚本运行时没加载图片的,但编译后文件运行有图片。

wisly 发表于 2009-10-22 11:54:44

好东西,学习了,谢谢!

styledream 发表于 2009-12-11 13:11:40

正好用到它,谢谢!

jokkkka 发表于 2010-3-24 16:04:02

我按你的方法试了,可是没有用的啊。
页: [1]
查看完整版本: image里的图片为不啥不能编译进EXE文件里?