我自己编了道小程序,在程序执行时会自动播放乐曲,我想把这程序发给我朋友,但只想发一个EXE文件,而不想同时连那一堆乐曲文件一起发过去,有没什么办法能将这些乐曲文件全包含到EXE文件中,这样只要有这个EXE文件,拿到任何一台机子上都能正常运行。
解决方案 »
- 关于串口接受数据乱码的问题
- 有谁开发过条码相关的软件?可否提供联系方式请教一些问题?
- 高手请教:怎样修改 Word 或者Excel 文件?
- treeview中的node 递归算法
- server-u
- datareport一问,急!
- 关于调用CommonDialog进行打印的???????????????????
- 如何在listbox添加数据的同时并且选中 提取数值信息
- 繁體版vb+access編寫的程序中,在用兩個DTPicker進行日期的篩選時出現的問題
- MSHFlexGrid的问题!!
- 做一个目录树形式的资源管理控件用什么控件啊?急等!
- 数据库里面的nameid 字段为整型, 在程序里面执行以下SQL 语句为什么会出错的?
调用声音
Dim bArr() As Byte
bArr = LoadResData("101", "WAVE")
sndPlaySound bArr(0), SND_MEMORY Or SND_ASYNC资源文件添加方法.
打开资源编辑器, 生成res 文件 在VB6.0中,已经有了资源编辑器,选择菜单Add Ins(外接程序)->Add In Manager...(外接程序管理器)->看到列表框中的"VB 6 Resouce Editor(VB6资源编辑器)",双击该选项,加载后出现在VB的工具菜单中。 调用文字串
Text1.Text = LoadResString(8001)
Text2.Text = LoadResString(8002)
调用文本文件
Dim bArr() As Byte, S As String
bArr = LoadResData("nettxt", "TextFile")
S = StrConv(bArr, vbUnicode)
Text2.Text = S调用声音
Dim bArr() As Byte
bArr = LoadResData("japan", "WAVE")
sndPlaySound bArr(0), SND_MEMORY Or SND_ASYNC
调用图标图形等
Picture1.MousePointer = 99
Set Picture1.Picture = LoadResPicture("bmp1", vbResBitmap)
Set Me.Icon = LoadResPicture("ico1", vbResIcon)
Set Picture1.MouseIcon = LoadResPicture("cur1", vbResCursor)
调用自定义文件
Private Const OCXSIZE = 306448 '欲生成的控件大小是57344Byte,名字为CoolToolBar.ocx
Dim Ocx() As Byte 'OCX是个Btye类型的数组
Dim Counter As Long
Ocx = LoadResData(101, "CUSTOM") '将自定义资源中101号资源读入数组OCX
Open App.Path & "CoolToolBar.ocx" For Binary As #1
For Counter = 0 To OCXSIZE - 1 '注意因为从0 Byte开始因此以文件大小 - 1Byte 为终值
Put #1, , Ocx(Counter)
Next Counter
Close #1
********调用方法
在程序中调用资源文件与直接调用资源在方法上差别不大。首先要保证已经加入资源文件,一个工程只能添加一个资源文件,如果未加入资源文件,可以在“工程”中的“Add New Resource File”添加。调用资源的函数有
LoadResString 返回一个文本字符串。
LoadResPicture 返回一个 Picture 对象,例如位图、图标或光标。
LoadResData 返回一个 Byte 数组,用于象 .wav 之类的文件。
其语法为 LoadResString(index)index是必需的一个整数,它用来指定资源文件中数据的标识符(即前面所说的ID)。Id标识符为 1 的资源保留给应用程序图标
LoadResPicture(index, format) index含义与上相同,format是必需的一个数值或常数,用来指定返回数据的格式。其设置如下:
常数 设置 描述
vbResBitmap 0 位图资源
vbResIcon 1 图标资源
vbResCursor 2 光标资源 LoadResData(index, format) 其参数含义与LoadResPicture相同,其中用于 format 的设置有:
设置 描述
1 光标资源
2 位图资源
3 图标资源
4 菜单资源
5 对话框
6 字符串资源
7 字体目录资源
8 字体资源
9 加速器表
10 用户定义资源
12 群组光标
14 群组图标
可见,通过资源文件调用资源与一般调用资源的方法除了参数稍有点不同以外,其余的用法都是一致的。如将窗体图标设置为资源文件中的图形:
Set Me.Icon=LoadResPicture("icon1",vbResIcon)
Option Explicit
Public Const SND_ASYNC = &H1&
Public Const SND_LOOP = &H8&
Public Const SND_MEMORY = &H4&
Public Const SND_NODEFAULT = &H2&
Public Const SND_NOSTOP = &H10&
Public Const SND_SYNC = &H0&
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Put #1, , Ocx(Counter)麻烦!直接Put #1,,Ocx就可以了//我的音乐文件为MID,大小为100K,资源文件好象不能超过64K拆成两个文件啦~~用二进制编辑程序拆。用的时候合并
我见过一个软件,只要自己选定一副照片,再选定一首乐曲,该软件就能自动生成一张EXE文件的贺卡,照片和乐曲都在EXE文件里面.