happytc 发表于 2013-1-20 22:28:07

回复 16# afan


    看你这么一说,想到是不是跟象vc里的resources一样的做法,试了一下。
果然套路都是一样的:
先用GetModuleHandle得到这个编译过的exe模块的句柄;
FindResourceW得到资源块入口指针
LoadResource得到第一字节的资源指针
LockResource内存块的第一个字节,为单字节指针
也就是用这几个关于资源api函数从而得到被包含进去的文件的内存指针(地址),就可以访问了。

mp3肯定是用$RT_RCDATA这个用户自定义资源类型了。
一直没有注意过,还以为au3不能包含资源到exe里呢,呵,相当不错

kxing 发表于 2013-1-21 05:05:38

回复 17# happytc


   楼上两位大大,能否写个au3的例子给咱们菜鸟学习学习呢?
先谢过了!!!

kxing 发表于 2013-1-21 05:22:19

想要包含mp3、wav、wma等声音资源的例子,感谢啦。。。

happytc 发表于 2013-1-21 11:47:19

想要包含mp3、wav、wma等声音资源的例子,感谢啦。。。
kxing 发表于 2013-1-21 05:22 http://www.autoitx.com/images/common/back.gif

就举个wav的吧,wav是window定义过的资源类型,最简单的访问我猜应该是下面这种:
(编译后再运行)

#AutoIt3Wrapper_Res_File_Add=C:\WINDOWS\Media\tada.wav, SOUND, MYWAV
Global Const $SND_RESOURCE = 0x00040004
Global Const $SND_ASYNC = 1
DllCall("winmm.dll", "int", "PlaySound", "str", "MYWAV", "hwnd", 0, "int", $SND_RESOURCE)
DllCall("winmm.dll", "int", "PlaySound", "str", "MYWAV", "hwnd", 0, "int", BitOR($SND_RESOURCE, $SND_ASYNC))
For $n = 1 To 100
    Sleep(20)
    ToolTip("Playing! " & $n)
Next

huangke 发表于 2013-1-21 16:29:40

哦?这个真的没有试过哦

邪恶海盗 发表于 2013-1-21 16:57:05

回复 13# guland


    新人表示无鸭梨...{:face (303):}

邪恶海盗 发表于 2013-1-21 16:57:57

回复 14# haijie1223


玩过...

意思是这种方式也是将资源以二进制嵌进.EXE里去的???

rhci 发表于 2013-1-22 22:43:08

学习了,学习 最重要

huangke 发表于 2013-1-23 10:53:02

http://www.autoitx.com/thread-28680-1-7.html看看这个帖子,里面有你需要的东西

786259135 发表于 2013-1-24 00:13:56

新手不懂,帮顶

netegg 发表于 2013-1-24 01:36:01

resoiuce udf好像有吧
页: 1 [2]
查看完整版本: 如何将要调用的图片、音乐资源整合进编译完成后的EXE里?