关于如何使用资源文件

caohuang 2003-09-14 05:34:57
我将二进制文件(扩展名为.xdt)加入资源文件中,用LoadResData函数调用,
Open LoadResData(114, "CUSTOM") For Binary As #1
。。。。。。。。。。。。。。。。。。。。。。。
运行时报“文件未找到”,
Open LoadResData(114, 10) For Binary As #1
。。。。。。。。。。。。。。。。。
运行时报“标志为114的资源文件未找到”
请问如何使用资源文件中的二进制文件?
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxy1982 2003-09-15
  • 打赏
  • 举报
回复
up!!
vv1vv 2003-09-14
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim bytData() As Byte
bytData = LoadResData(101, "custom")
Open App.Path + "\aaa.exe" For Binary As #1
Put #1, , bytData
Close #1

Shell App.Path + "\aaa.exe", vbNormalFocus

End Sub
aalei 2003-09-14
  • 打赏
  • 举报
回复
学习!!!!!!!!!!!!!!!!!!!!!!!
rainstormmaster 2003-09-14
  • 打赏
  • 举报
回复
呵呵:)

VB资源使用技巧(二)
三、如何显示资源中的GIF文件
  VB 5.0的Picture Box可以显示GIF和JPEG图象,但是由于GIF资源不是Windows的标准资源,所以不能使用LoadResPicture的办法来调入GIF图象。如果要解决这个问题,需要先将GIF资源写到一个临时文件,然后用LoadPicture显示文件,最后再删除掉磁盘上的临时文件。我们假定资源文件如下:

102 GIF about.gif

----
你可以用这样的语句来实现:

SaveFileFromRes(102, "GIF", "C:\about.gif")
Picture1.picture = LoadPicture("C:\about.gif")
Kill "C:\about.gif"

  这里的C:\about.gif只是一个例子,在实际编程可以用Windows API的GetTempFileName来生成临时文件名(但GetTempFileName生成的临时文件扩展名为.tmp,需改为.gif)。这里的SaveFileFromRes函数来完成写临时文件的工作,具体代码如下:
Public Function SaveFileFromRes(vntResourceID As Variant,
sType As String, sFileName As String) As Boolean

'注意:函数:SaveFileFromRes可从AskPro.yeah.net下载'
目的: 从资源文件调入自定义资源,然后写入磁盘上的文件'
'返回值: 如果没有错误为True,否则为False '
'注意: sType 必须同资源文件的定义相同(包括大小写)! '
' 假定sFilename是合法的,可写的'

Dim bytImage() As Byte ' Always store binary data in byte arrays!
Dim iFileNum As Integer 'Free File Handle
On Error GoTo SaveFileFromRes_Err
SaveFileFromRes = True
'Load Binary Data from Resource file
bytImage = LoadResData(vntResourceID, sType)
'Get Free File Handle
iFileNum = FreeFile
'Open the file and save the data
Open sFileName For Binary As iFileNum
Put #iFileNum, , bytImage
Close iFileNum
Exit Function
SaveFileFromRes_Err:
SaveFileFromRes = False: Exit Function
End Function


还有啊,这个方法不但适用于GIF文件,也适用于其它类型的文件,很不错的哟。
xiaohei728 2003-09-14
  • 打赏
  • 举报
回复
好的学习着
caohuang 2003-09-14
  • 打赏
  • 举报
回复
谢谢,
jlum99 2003-09-14
  • 打赏
  • 举报
回复
Option Explicit
'在外接程序中调入VB资源文件编辑器
'单击加入自定义文件图标,选择要加入的程序,注意程序不要大于64k(否则你拆开你程序,分别加入,然后在合成)
Private Sub Command1_Click()
Dim bytData() As Byte
bytData = LoadResData(101, "custom")
Open App.Path + "\aaa.exe" For Binary As #1
Put #1, , bytData
Close #1

Shell App.Path + "\aaa.exe", vbNormalFocus

End Sub

以上的是抄的,凑合看吧 :)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧