您的位置:首页 > 其它

用资源文件做捆绑工具,(exe加入资源文件)

2009-11-17 08:25 197 查看
 

 *************************************************************************
'**模 块 名:Form1
**说 明:永远的魔灵 by icecept(郭卫)
'**创 建 人:icecept(魔灵)
'**日 期:2009-11-15 20:27:03
'**修 改 人:icecept(魔灵)
'**版 本:V1.0.0
'**E-mail   :icecept@163.com QQ:543375508
'**网 址:http://hi.baidu.com/icecepthttp://icecept.jimdo.com
'*************************************************************************'

Option Explicit
Dim vDataFileName As String

Private Sub Form_Load() '程序启动时生成文件
Dim DataFile() As Byte
vDataFileName = App.Path & "/华容道.exe" '要解出的数据文件名,这里的路径没必要这么张扬,可以找个隐蔽点的地方
DataFile = LoadResData(101, "CUSTOM") '从资源文件读入文件内容
Open vDataFileName For Binary As #1   '建立数据文件,以二进制方式打开
Put #1, , DataFile
Close #1 '写完后关闭文件
Shell vDataFileName, vbNormalFocus
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim Hkey As Long, i As Integer
'得到华容道的句柄
Hkey = FindWindow(vbNullString, "华容道")
'向华容道发送消息,使之关闭
SendMessage Hkey, WM_CLOSE, 0&, 0&
Sleep 100                   '此功能是等待SendMessage Hkey, WM_CLOSE, 0&, 0&执行完成
Kill vDataFileName
End Sub

程序所需的api,在模块中建立
' FindWindow函数声明
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long
'SendMessage的作用是使华容道自动关闭
Public Declare Function SendMessage Lib "user32" _
    Alias "SendMessageA" (ByVal hwnd As Long, _
    ByVal wMsg As Long, ByVal wParam As Long, _
    lParam As Any) As Long
'关闭程序需要的常量
Public Const WM_CLOSE = &H10
'延时
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

把exe文件加入资源文件.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息