社区
VB基础类
帖子详情
vb怎样才能打包成绿色软件?
yiranoon
2003-09-18 11:03:19
有好的办法或工具吗?
...全文
172
10
打赏
收藏
vb怎样才能打包成绿色软件?
有好的办法或工具吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yiranoon
2003-09-29
打赏
举报
回复
1
UpdateING
2003-09-18
打赏
举报
回复
8好意思............lxcc大侠........占了个位置~~~~~~其实偶们的目标是一致滴~~~~~~就是帮助楼主~~~~~~!西西~!
liul17
2003-09-18
打赏
举报
回复
最绿的就是拷个 .exe 就能运行 :)
次之则是(自认为):
安装时全装上卸载时全卸掉不留痕迹!
lxcc
2003-09-18
打赏
举报
回复
呵呵,转的同一个帖子
yijiansong
2003-09-18
打赏
举报
回复
xuexi
lxcc
2003-09-18
打赏
举报
回复
现在非常流行“绿色”软件,不需要什么安装程序只要一个 EXE 文件就可以运行程序
了,而在 VB 的编程中有许多地方需要调用第三方的控件(很难用 API 函数搞定所有的功能),这就需要制做一个安装程序,把所需要的控件、DLL 文件或其他文件打包进去了,那么在 VB 中怎么用变通的方法实现“绿色”软件呢,请看:
示例:
1、主程序.EXE
用 VB6.0 编写的程序,调用了 Winsock 控件,如果在没有安装 VB5.0、6.0 的机器上运行则会出现错误,导致程序运行失败,这时如果按一般的方法,只有把这个程序用 VB5.0、6.0 的安装程序进行打包,不然只有用用2的方法来解决了。
2、注册程序.EXE
用 VB6.0 编写的程序,使用资源文件的方法,把 Winsock 控件封装到本程序中,在运行主程序.EXE之前,先运行本程序,通过 API 函数 GetSystemDirectory 取得系统的 Winddows\System 的目录,然后把 Winsock 控件复制到该目录下,并用 Shell 来完成控件的注册。
⑴启动 VB6.0,在“外接程序→外接程序管理器”中加载“Visual Basic 6 资源编辑器”
⑵在 VB 资源编辑器窗口中,点击“添加自定义资料”,增加 Winsock 控件(C:\Winddows\System\Mswinsck.ocx),再双击刚刚创建的自定义资源,弹出”编辑属性”窗口,定义如下:
类型:
“OCX”
标识号:
101
语言:
中文(中国)
⑶保存资源文件,写如下代码:
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Const MAX_PATH = 260 '定义足够长的字符串
Private Sub Form_Load()
Dim TempFile() As Byte
Dim FileNum As Integer
Dim TempDir As String
TempDir = GetWinSysDir '自定义函数取得系统的 Winddows\System 的目录
TempFile = LoadResData(101, "OCX") '用以从资源 (.res) 文件装载若干可能类型的数据,并返回一个 Byte 数组
FileNum = FreeFile
Open TempDir & "\Mswinsck.ocx" For Binary Access Write As #FileNum '新建文件(把 Winsock 控件复制到指定目录下)
Put #FileNum, , TempFile
Close #FileNum
'Shell "regsvr32 " & TempDir & "\Mswinsck.ocx ", vbNormalFocus '注册控件,有弹出对话框
Shell "regsvr32 " & TempDir & "\Mswinsck.ocx /s", vbNormalFocus '注册控件,无弹出对话框
MsgBox "注册成功,现在本程序可正常运行了!!", vbOKOnly, "注册控件"
Unload Me
End Sub
Public Function GetWinSysDir() '定义读取Winddows\System 的所在目录的函数
Dim S As String, Length As Long
S = String(MAX_PATH, 0) '赋值
Length = GetSystemDirectory(S, MAX_PATH) 'S为取得目录,MAX_PATH 为长度
S = Left(S, InStr(S, Chr(0)) - 1) '去掉多余的空格
GetWinSysDir = S
End Function
'补充:S 和 MAX_PATH 的值是可以随便赋的,
'如: Dim S As String * 20
' Length = GetSystemDirectory(S, 20)
3、补充说明
在用 VB6.0 保存上述两个程序后,请再使用 VB5.0 重新打开这两个程序,并编译为主程序.EXE、注册文件.EXE。(用 VB5.0 编译的程序,在 Win98、2000 下不需要任何 DLL 文件)
程序运行
4、程序运行
将主程序.EXE、注册文件.EXE两个文件,复制到任意机器上,先运行注册文件.EXE注册第三方的控件,再运行主程序.EXE,就不会有任何的错误了,一个变通的“绿色”软件就完成了。
射天狼
2003-09-18
打赏
举报
回复
什么才算绿色软件?!?
UpdateING
2003-09-18
打赏
举报
回复
哇~~~~好多星星呀~~~~~~~~漂亮~~~~~!!
我转个帖子给楼主,希望能对这个问题有点帮助~~!
实现“绿色”软件(影子版主)
现在非常流行“绿色”软件,不需要什么安装程序只要一个 EXE 文件就可以运行程序
了,而在 VB 的编程中有许多地方需要调用第三方的控件(很难用 API 函数搞定所有的功能),这就需要制做一个安装程序,把所需要的控件、DLL 文件或其他文件打包进去了,那么在 VB 中怎么用变通的方法实现“绿色”软件呢,请看:
示例:
1、主程序.EXE
用 VB6.0 编写的程序,调用了 Winsock 控件,如果在没有安装 VB5.0、6.0 的机器上运行则会出现错误,导致程序运行失败,这时如果按一般的方法,只有把这个程序用 VB5.0、6.0 的安装程序进行打包,不然只有用用2的方法来解决了。
2、注册程序.EXE
用 VB6.0 编写的程序,使用资源文件的方法,把 Winsock 控件封装到本程序中,在运行主程序.EXE之前,先运行本程序,通过 API 函数 GetSystemDirectory 取得系统的 Winddows\System 的目录,然后把 Winsock 控件复制到该目录下,并用 Shell 来完成控件的注册。
⑴启动 VB6.0,在“外接程序→外接程序管理器”中加载“Visual Basic 6 资源编辑器”
⑵在 VB 资源编辑器窗口中,点击“添加自定义资料”,增加 Winsock 控件(C:\Winddows\System\Mswinsck.ocx),再双击刚刚创建的自定义资源,弹出”编辑属性”窗口,定义如下:
类型: “OCX”
标识号: 101
语言: 中文(中国)
⑶保存资源文件,写如下代码:
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Const MAX_PATH = 260 '定义足够长的字符串
Private Sub Form_Load()
Dim TempFile() As Byte
Dim FileNum As Integer
Dim TempDir As String
TempDir = GetWinSysDir '自定义函数取得系统的 Winddows\System 的目录
TempFile = LoadResData(101, "OCX") '用以从资源 (.res) 文件装载若干可能类型的数据,并返回一个 Byte 数组
FileNum = FreeFile
Open TempDir & "\Mswinsck.ocx" For Binary Access Write As #FileNum '新建文件(把 Winsock 控件复制到指定目录下)
Put #FileNum, , TempFile
Close #FileNum
'Shell "regsvr32 " & TempDir & "\Mswinsck.ocx ", vbNormalFocus '注册控件,有弹出对话框
Shell "regsvr32 " & TempDir & "\Mswinsck.ocx /s", vbNormalFocus '注册控件,无弹出对话框
MsgBox "注册成功,现在本程序可正常运行了!!", vbOKOnly, "注册控件"
Unload Me
End Sub
Public Function GetWinSysDir() '定义读取Winddows\System 的所在目录的函数
Dim S As String, Length As Long
S = String(MAX_PATH, 0) '赋值
Length = GetSystemDirectory(S, MAX_PATH) 'S为取得目录,MAX_PATH 为长度
S = Left(S, InStr(S, Chr(0)) - 1) '去掉多余的空格
GetWinSysDir = S
End Function
'补充:S 和 MAX_PATH 的值是可以随便赋的,
'如: Dim S As String * 20
' Length = GetSystemDirectory(S, 20)
3、补充说明
在用 VB6.0 保存上述两个程序后,请再使用 VB5.0 重新打开这两个程序,并编译为主程序.EXE、注册文件.EXE。(用 VB5.0 编译的程序,在 Win98、2000 下不需要任何 DLL 文件)
程序运行
4、程序运行
将主程序.EXE、注册文件.EXE两个文件,复制到任意机器上,先运行注册文件.EXE注册第三方的控件,再运行主程序.EXE,就不会有任何的错误了,一个变通的“绿色”软件就完成了。
TechnoFantasy
2003-09-18
打赏
举报
回复
那要看你的程序写的有多绿 :-),现在主流操作系统都带了VB运行库,所以说一般的小程序,执行文件拷贝过去就可以了。如果调用了组件或者数据库一类的,就比较麻烦了。
yiranoon
2003-09-18
打赏
举报
回复
我没什么多说的了,三个字:谢谢大家!!!
VB
6
绿色软件
打包
工具
本工具是中文环境,可将
VB
6工程
打包
成
一个可执行文件,可在没有安装
VB
6运行环境上的电脑上运行(仅限Windows操作系统),常用来做共享等
绿色软件
。
ComDLL控件OCX免注册工具包,提升管理员权限,注册DLL,卸载OCX-
vb
6开发的
史上最强,没有之二。可以让你的软件免安装,解压即用。办公电脑普通账号,提升到管理员权限,可以注册DLL,安装一些无法安装的软件。 一开始只是想做一个工程中引用了什么DLL,ocx的小工具,后面又添加了DLL注册卸载功能,管理员提权,让普通账号无权限的电脑也能写入注册表。这个花了好多天的时间。UAC权限限制,连注册DLL的代码都运行失败,只能手工复制到命令行窗口才能注册
成
功。使用说明:使用说明:------------------------- 1,把工程中引用的DLL,ocx控件文件放到工程目录下的dll_ocx目录进去 2,复制DLL_OCX目录到免注册工具包.exe下面 3,打开”免注册工具包.exe” 4,点2个按钮,生
成
清单、生
成
VB
6资源文件 5,把目录下生
成
的:
VB
6资源文件.res 文件复制到工程目录, 6,
VB
6 IDE中按CTRL+D添加该资源文件到工程 编绎生
成
ABC.EXE,把DLL_OCX目录一起
打包
, 就可以免注册在别的电脑上直接打开软件了。
VB
6.0绿色精简版——轻量高效的编程利器
Visual Basic 6.0(简称
VB
6.0)于1998年发布,是微软基于COM技术构建的可视化开发平台巅峰之作。其核心采用事件驱动编程模型,结合集
成
开发环境(IDE)中的窗体设计器、代码编辑器与调试器,极大提升了Windows桌面应用的开发效率。End Sub如上代码所示,仅需简单拖放控件并编写几行逻辑,即可实现交互功能,体现了
VB
6.0“所见即所得”的设计理念。它深度依赖Windows注册表管理组件对象(如OCX、DLL),并通过项目文件(.
vb
p)组织资源,形
成
以“工程”为中心的开发范式。
VB
RezQ V3.1:价值1200元的
VB
6反编译软件深度解析
VB
RezQ V3.1是一款专为
VB
6开发者和维护人员设计的反编译工具。它能够读取
VB
6编译后的可执行文件(.exe)和动态链接库文件(.dll),将它们还原为接近源代码的格式,包括窗体、类模块和标准模块等。这对于理解遗留
VB
6程序的工作机制、进行代码的迁移或升级具有重大意义。反编译(Decompilation)是将编译后的二进制代码转换回接近源代码的过程。
从
VB
资源文件中释放出的EXE文件为何运行不了?
按下列方法从
VB
资源文件中释放出的EXE文件为何运行不了?为何必须用二进制文件编辑器将释放出的EXE文件(文件头多了12字节)的前12字节才能正常运行? 二、实现“绿色”软件 现在非常流行“绿色”软件,不需要什么安装程序只要一个 EXE 文件就可以运行程序 了,而在
VB
的编程中有许多地方需要调用第三方的控件(很难用 API 函数搞定所有的功能),这就需要制做一个安装程序,
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章