返回首页
当前位置: 主页>开发编程语言>

利用VB实现“绿色”软件

时间:2008-03-30 00:00来源:亚洲互联网 作者:伟大的中国程序员 点击:

   您正在看的C语言教程是:利用VB实现“绿色”软件<转>。现在非常流行“绿色”软件,不需要什么安装程序只要一个 EXE 文件就可以运行程序了,而在 VB 的编程中有许多地方需要调用第三方的控件(很难用 API 函数搞定所有的功能),这就需要制做一个安装程序,把所需要的控件、DLL 文件或其他文件打包进去了,那么在 VB 中怎么用变通的方法实现“绿色”软件呢,请看示例:

原文链接:利用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\nsck.ocx),再双击刚刚创建的自定义资源,弹出”编辑属性”窗口,定义如下:
  类型: “OCX”
  标识号: 101
  语言: 中文(中国) 内容来自dedecms

  ⑶保存资源文件,写如下代码:
  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 & "\nsck.ocx" For Binary Access Write As #FileNum 注释:新建文件(把 Winsock 控件复制到指定目录下)
  Put #FileNum, , TempFile
  Close #FileNum

copyright dedecms

  注释:Shell "regsvr32 " & TempDir & "\nsck.ocx ", vbNormalFocus 注释:注册控件,有弹出对话框
Shell "regsvr32 " & TempDir & "\nsck.ocx /s", vbNormalFocus 注释:注册控件,无弹出对话框

织梦好,好织梦

  MsgBox "注册成功,现在本程序可正常运行了!!", vbOKOnly, "注册控件" 本文来自织梦

  Unload Me
 End Sub

copyright dedecms

  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、补充说明

copyright dedecms


  在用 VB6.0 保存上述两个程序后,请再使用 VB5.0 重新打开这两个程序,并编译为主程序.EXE、注册文件.EXE。(用 VB5.0 编译的程序,在 Win98、2000 下不需要任何 DLL 文件)

织梦好,好织梦

4、程序运行 内容来自dedecms


  将主程序.EXE、注册文件.EXE两个文件,复制到任意机器上,先运行注册文件.EXE注册第三方的控件,再运行主程序.EXE,就不会有任何的错误了,一个变通的“绿色”软件就完成了。

织梦好,好织梦






秦华 『上海买保险』上海地区人寿保险资深寿险顾问 上海外籍人士买保险-高端人士医疗办理
服务项目:儿童医疗/子女教育金/养老保险/重大疾病/意外伤害/员工团险/公众责任
免费热线『上海』:13761630213, QQ:107242375, Email:victor.qin@qq.com
选择保险事业 为了爱,为了一份坚定的承诺!MSN:
上海地区请直接拨打本人电话,应约免费上门提供免费保险方案。
Baoxian.ws>>           旅行签证保险、上门办理>>        重大疾病网>>     上海重大疾病一览    
友情链接: 走在上海人寿保险的前端    和讯保险博客    上海投保在线    Shanghai Insurance    秦华的个人简历


顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
图文并茂 我的链接
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
上海高端医疗/住院医疗保险信息
上海保险规划师信息
上海子女教育理财保险信息
上海保险规划师信息
上海女性高端生育保险方案-等待期
上海保险规划师信息
上海三口之家家庭保障方案
上海保险规划师信息
上海女性特色重大疾病保险方案
上海保险规划师信息
上海女性白领理财保险方案
上海保险规划师信息
上海养老理财规划保险方案
上海保险规划师信息
通过网络取得初步咨询
  •    
上海办理-免费咨询送计划书
上海买保险
上海办理-申根签证 出国旅行保险
上海买保险
上海买保险,海外基金,买保险,友邦保险,中国人民健康保险,养老保险,儿童保险,儿童医疗,子女教育金,太平洋保险,医疗保险,工伤保险条例,中国人寿保险,保险公司,中国平安保险,医疗险,进口药,自费药,外籍人士医疗,泰康人寿,英国保诚集团,上海综合保险,国际医疗保险,上海医疗保险,上海社会保险,上海养老保险,上海市综合保险,上海平安保险,上海太平洋保险,和睦家医院,上海综合保险卡,买保险,高端医疗,重大疾病,意外伤害,定期寿险,家庭理财,友邦保险,金茂大厦,少儿互助基金,上海社保,太平洋集团,港安医院