找回密码
 加入
搜索
查看: 2125|回复: 9

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

[复制链接]
发表于 2009-10-20 21:47:03 | 显示全部楼层 |阅读模式
本帖最后由 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 | 显示全部楼层
用FileInstall 把图片打包至EXE里,怎么用看下帮助就知道了!
发表于 2009-10-20 23:51:23 | 显示全部楼层
用FileInstall 把图片打包至EXE里,怎么用看下帮助就知道了!
那片叶子 发表于 2009-10-20 22:36

这不过是骗人的把戏,运行时会自动释放出来的。
 楼主| 发表于 2009-10-21 20:01:12 | 显示全部楼层
谢谢二楼的回答,autoit还有没有更好的办法呢?实在没其他好办法,只好用fileinstall把图片打包至EXE里。只是运行时会释放出这个图片文件,看着有点儿不爽唉。
发表于 2009-10-21 20:09:46 | 显示全部楼层
本帖最后由 netegg 于 2009-10-21 20:12 编辑

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

给你个建议,如果想那么做的话,把图像整个转换成二进制代码,然后还原
发表于 2009-10-21 22:48:11 | 显示全部楼层
第1种办法  把图片塞到DLL里
第2种办法  把图片发布到网站上
 楼主| 发表于 2009-10-22 07:40:57 | 显示全部楼层
本帖最后由 shqf 于 2009-10-22 07:41 编辑

我找到一了个较好的方法,应该是编译进EXE文件里,运行时没见释放出来的,用到的UDF是resources.au3,见 
http://www.autoitscript.com/foru ... topic=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")

脚本运行时没加载图片的,但编译后文件运行有图片。
发表于 2009-10-22 11:54:44 | 显示全部楼层
好东西,学习了,谢谢!
发表于 2009-12-11 13:11:40 | 显示全部楼层
正好用到它,谢谢!
发表于 2010-3-24 16:04:02 | 显示全部楼层
我按你的方法试了,可是没有用的啊。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 21:41 , Processed in 0.078534 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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