VB6.0资源文件释放问题! 30
我用VB6.0释放文件EXE.SCR.CMD文件代码如下Dimtemp()AsBytetemp=LoadResData(101,"CUSTOM")Open"C:\WIND...
我用VB6.0释放文件EXE.SCR.CMD文件 代码如下
Dim temp() As Byte
temp = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\temp\101.exe" For Binary As #1
Put #1, 1, temp()
Close #1
temp = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\102.scr" For Binary As #1
Put #2, 1, temp()
Close #2
temp = LoadResData(103, "CUSTOM")
Open "C:\WINDOWS\system32\103.exe" For Binary As #1
Put #3, 1, temp()
Close #3
运行时候就提示 错误的文件名或号码:Put #2, 1, temp()这个错误了吗?
资源文件里102是SCR文件 展开
Dim temp() As Byte
temp = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\temp\101.exe" For Binary As #1
Put #1, 1, temp()
Close #1
temp = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\102.scr" For Binary As #1
Put #2, 1, temp()
Close #2
temp = LoadResData(103, "CUSTOM")
Open "C:\WINDOWS\system32\103.exe" For Binary As #1
Put #3, 1, temp()
Close #3
运行时候就提示 错误的文件名或号码:Put #2, 1, temp()这个错误了吗?
资源文件里102是SCR文件 展开
2个回答
展开全部
'文件号冲突了。
'你关闭了1号句柄(VB 打开文件之后的“文件号”其实就是句柄)却又使用1号句柄打开,系统就找不到了,就会报错。
Dim temp() As Byte
temp = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\temp\101.exe" For Binary As #1
Put #1, 1, temp()
Close #1
temp = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\102.scr" For Binary As #2
Put #2, 1, temp()
Close #2
temp = LoadResData(103, "CUSTOM")
Open "C:\WINDOWS\system32\103.exe" For Binary As #3
Put #3, 1, temp()
Close #3
而且,我不建议你用这种方式来写文件,因为我试过,如果用 VB 资源编辑器载入再写出就会异常。这是针对“自定义类型(Custom)”而言,其他的格式没有问题。比如,EXE 无法运行(“XXX.EXE 不是有效的 32 位程序”)。如果真的要写文件,建议写好代码生成之后用 ResHacker 加进去。
'你关闭了1号句柄(VB 打开文件之后的“文件号”其实就是句柄)却又使用1号句柄打开,系统就找不到了,就会报错。
Dim temp() As Byte
temp = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\temp\101.exe" For Binary As #1
Put #1, 1, temp()
Close #1
temp = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\102.scr" For Binary As #2
Put #2, 1, temp()
Close #2
temp = LoadResData(103, "CUSTOM")
Open "C:\WINDOWS\system32\103.exe" For Binary As #3
Put #3, 1, temp()
Close #3
而且,我不建议你用这种方式来写文件,因为我试过,如果用 VB 资源编辑器载入再写出就会异常。这是针对“自定义类型(Custom)”而言,其他的格式没有问题。比如,EXE 无法运行(“XXX.EXE 不是有效的 32 位程序”)。如果真的要写文件,建议写好代码生成之后用 ResHacker 加进去。
展开全部
Dim temp() As Byte
temp = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\temp\101.exe" For Binary As #1
Put #1, 1, temp()
Close #1
temp = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\102.scr" For Binary As #2
Put #2, 1, temp()
Close #2
temp = LoadResData(103, "CUSTOM")
Open "C:\WINDOWS\system32\103.exe" For Binary As #3
Put #3, 1, temp()
Close #3
temp = LoadResData(101, "CUSTOM")
Open "C:\WINDOWS\temp\101.exe" For Binary As #1
Put #1, 1, temp()
Close #1
temp = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\102.scr" For Binary As #2
Put #2, 1, temp()
Close #2
temp = LoadResData(103, "CUSTOM")
Open "C:\WINDOWS\system32\103.exe" For Binary As #3
Put #3, 1, temp()
Close #3
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询