社区
VB基础类
帖子详情
请问VB6编译的EXE文件在WIN98上运行到底需要什么?
LuKoo
2000-09-09 01:09:00
一个VB6写的程序,在其它一些没有安装VB6的机器(均为win98)上与运行,有的机器正常,有的却显示文件msvbvm60.dll找不到,当把该文件复制到system目录后,又显示文件oleaut32.dll超出日期.据本人分析,出现问题的机器好像是从win95升级安装到win98的,不知实际原因是否如此?另外,为使程序在这些机器上都能应用,我该怎么做?
谢谢!
...全文
281
5
打赏
收藏
请问VB6编译的EXE文件在WIN98上运行到底需要什么?
一个VB6写的程序,在其它一些没有安装VB6的机器(均为win98)上与运行,有的机器正常,有的却显示文件msvbvm60.dll找不到,当把该文件复制到system目录后,又显示文件oleaut32.dll超出日期.据本人分析,出现问题的机器好像是从win95升级安装到win98的,不知实际原因是否如此?另外,为使程序在这些机器上都能应用,我该怎么做? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LuKoo
2000-09-09
打赏
举报
回复
谢谢诸位,我原来的程序就使用VB5写的,只是个安装程序,其它都是用别的语言写的,所我又改用
VB5了.问题虽然解决了,但感觉VB6真是麻烦事多.
prefix
2000-09-09
打赏
举报
回复
在默认情况下,你可以看到vb6的引用中除了运行库等外,还包含了一个OLE Automation,这个虽然很常用到,但用户其版本却不一定比你的vb带的高,所以一个最简单的程序在默认情况下需要msvbvm60.dll和OLE Automation(OLE自动器)。
xiali
2000-09-09
打赏
举报
回复
本人遇到过此类问题.为了使你的VB6程序在Win98上正常运行,必须明确你使用了哪些控件和VB6必须的运行库文件;再就是这些文件的注册.
1.VB6必须的运行库:Msvbvm60.dll,Oleaut32.dll,Vb6chs.dll,VBAJet32.dll;其中Oleaut32.dll不能直接复制到SYS目录中,需要借助于安装制作工具,安装结束会提示Win98重新启动后程序才可以使用.
2.你使用了的控件:如果你使用了Access数据库,则会用到Msjet35.dll,Dao350.dll(Dao360.dll);其它可能还有:Mscomctl.ocx,Mscomct2.ocx,Tabctl32.ocx,Comdlg32.ocx等,如果用到了,可以包括它们.
3.有的控件有自注册功能,复制后即可运行,有的控件就需要借助于安装制作工具,如:InstallShield5 Professional Edition,可以制作中文界面的安装程序.
4.为了方便,你可以使用VB6的打包功能,它可自动包括所需运行库及控件,但没有用到的控件也可能会打包进出.建议你在"专家门诊"中查找:减小打包.
5.如果你已经完成了VB6程序制作,建议你仍然使用VB6,有利于程序的升级,完善尽可能我的功能.
wuf
2000-09-09
打赏
举报
回复
这个关键在于你的程序,可能还需要控件之类的
你用打包程序打包的过程中就能看到需要哪些文件
如果有的文件Win98中已有,则可不要
这有什么好问的,
iProgram
2000-09-09
打赏
举报
回复
如果为Win98写程序,应使用VB5编译,因为Win98自带VB5虚拟机,oleaut32版本也正确,如使用VB6,由于msvbvm60.dll不是win98安装后的系统文件,因此打包时需要一起发行,建议用VB6开发For Win2000的程序。
VB6
实现禁用程序的视觉样式源代码
摘要:VB源码,界面编程,禁用程序,视觉样式
VB6
实现禁用程序的视觉样式,由热心网友提供,源码爱好者再次感谢作者对本站的支持。
以下是作者的说明:
提示:目录下有个已经
编译
好的程序
声明:此程序源码是从本人的搜搜提问上获得的,平时在源码爱好者上没搜到,所以就上传上来。
源码说明:
VB6
实现禁用视觉样式(使用
win
98
的风格)。
VB6
.0动态加载ActiveX控件漫谈
VB6
.0动态加载ActiveX控件漫谈 深圳 罗汉军 罗德昌 熟悉VB的朋友对使用ActiveX控件一定不会陌生,众多控件极大地方便了编程, 但唯一的缺陷是不能动态加载控件,必须在设计时通过引用,将控件放置在窗体上。
VB6
.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功 能,由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在 Set 语句中用 New 关键字、CreateObject 或 GetObject 从部件外面将对象引用赋予变 量。 如果对象是从属对象,则需使用高层对象的方法,在 Set 语句中指定一个对象引 用: Dim xlApp1 As Excel.Application Set xlApp1 = New Excel.Application 或 Dim xlApp As Object '定义存放引用对象的变量。 Set xlApp = CreateObject("excel.application") xlApp.Visible = True ---- 这些语法很容易造成误导,以为动态加载ActiveX控件也是此方法,可能有朋 友也象我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种 考虑,动态加载ActiveX控件是扩展控件集合的方式实现,通过实际摸索,终于就如 何实现动态ActiveX控件找出了一条切实可行的方法,下面以一个具体的实例来详细说 明。 一、ActiveX控件 ---- ActiveX 控件是 Visual Basic 工具箱的扩充部分。使用 ActiveX 控件的方 法与使用其它标准内装的控件,如 CheckBox 控件,完全一样。在程序中加入 ActiveX 控件后,它将成为开发和
运行
环境的一部分,并为应用程序提供新的功能。 ---- ActiveX 部件通过客户端/服务器关系与应用程序— 及与部件相互之间— 交 互作用。客户端是使用部件功能的应用程序代码或部件。服务器是部件及其关联的对象。 例如,假设应用程序使用 ActiveX 控件来提供一个标准的雇员窗体,供公司的多种 应用程序使用。提供雇员窗体的 ActiveX 控件就是服务器,使用这个控件的应用程序 就是服务器的客户端。 二、加载方法 ----
VB6
.0中对Controls 集合进行了扩展,以前版本中Controls 集合在窗体上列 举出已加载的控件,这在迭代过程中是很有用的。Controls 集合标识一个叫做 Controls的内在窗体级变量。如果忽略可选的 object 所在处的整数,则关键字 Controls 必须包括在内。我们通常在窗口中使用如下代码: Text1.Text="Hello, world" 其实也可以使用如下代码达到同一目的: Controls(1).Text="Hello, world" ---- 在
VB6
.0中除了原来的Clear、Remove 方法外(很奇怪,为什么微软在VB5.0中 只提供这两种方法,而没有提供Add方法,因为没有Add,这两种方法也就没什么用处), 增加了Add方法,该方法就是用于动态加载控件的: Controls.Add(progid as String, Name as String); progid: ActiveX部件的ProgID,如:"VB.CheckBox"; Name:ActiveX部件加载后的名称,如: "MyCheckBox"; 若要在窗体上添加一个名为MyButton的按钮,可以使用: dim oControl as Object '窗体级变量 注意:这里声明为Object对象类型 Private Sub LoadControl() Set oControl = Controls.Add ("VB.CommandButton", "MyButton") oControl.Left = 10 oControl.Top = 10 oControl.Visible = True '使控件可见 End Sub ---- 这是
VB6
.0的标准语法,它在例程中也是如此演示的,不过该方法虽然现实了 控件的动态加载,按钮显示在窗体上,可以象普通按钮一样按下去,但加载的控件不能 预先设计响应事件代码,如:事件Sub MyButton_Click()将是非法的,当然,可以将要 响应的事件封装在控件内部。就编程的观点来看该方法没什么大的用处,开发ActiveX 控件的目的是为了资源共享,为了被其他开发人员利用,所以要提供必要的事件接口, 显然利用该方法不行,通过分析VBControls等相关对象,找出VBControlExtender对象 与EventInfo相结合能提供事件陷井捕捉,VBControlExtender对象对动态添加控件特 别有用,它提供了一套通用的属性、方法、事件给开发人员,它的一个突出特点是能编 程设计控件的事件,熟习类编程的朋友对带事件的对象声明一定不会陌生: ---- Dim WithEvents objElemt as CElemtVBControlExtender也不例外,声明的 语法一样,只不过它有个特殊的事件ObjectEvent(Info As EventInfo),它能捕捉到对 象使用RaiseEvent产生的所有事件,EventInfo数据结构映射了事件的名称、参数个数 和参数的值。VBControlExtender和 EventInfo相结合,采用Select Case 就可以预先 将不同类对象的事件放置一起,各自独立运作。将上面的代码改写一下就能提供Click 事件了: ---- Dim WithEvents oControl As VBControlExtender '带事件声明声明之后您 就可以在代码窗口的左上角的对象下拉框中发现该对象出现了,也就是说,该对象有了 事件或方法了,它的事件有DragDrop,DragOver ,LostFocus ,GotFocus , ObjectEvent和Validate,其中ObjectEvent是通用的事件捕捉。 Private Sub LoadControl() Set oControl = Controls.Add ("VB. CommandButton", "MyButton") oControl.Visible = True End Sub Private Sub oControl_ObjectEvent(Info As EventInfo) Select Case Info.Name Case "Click" 'Click事件 '您可以添加处理Click事件代码 MsgBox "您按了MyButton!" Case Else ' 其他事件 ' Handle unknown events here. End Select End Sub ---- 当然对微软提供的标准控件能采用该方法添加,大家都不会怀疑,但自己开 发的控件也能吗?答案是肯定的,我们可以用一个实际的例子进行说明。 三、实例描述 ---- 假设一个本地网络的监控系统,
需要
在原理图与实物示意图间切换,原理图 包括组网结构、传输资源、监控主机等,而实物示意图包括路由器、设备、采集器等, 当然两种图的事件要一致,如双击某个设备图形将显示给设备的实时数据等,为了简化 维护,将原理图与实物示意图封装成ActiveX控件,由于每种图
需要
加载许多图形控 件,消耗资源较大,不能同时加载,
需要
将其分解为两个控件,在切换时首先卸载一个 控件,然后加载另一个控件,所以要实现动态加载ActiveX控件。 ---- 原理图控件为--Theory.ocx ,对应工程为CTheory; ---- 实物图控件为---Fact.ocx ,对应工程为CFact; ---- 注意:为了简化,在设计控件时不设置许可证关键字。 ---- 实物图控件上的图形对象可以被拖动,拖动后的位置信息通过事件 ChangePosition来通知拥有该控件的窗体,以便下次加载能显示在最后位置,实物 图和原理图控件都有双击事件完成的工作相同,其他事件此处忽略。 ---- 四、具体示例 ---- 1、准备工作 ---- 对控件Theory.ocx 、Fact.ocx 进行注册(利用Regsvr32.
exe
注册); ---- 建立窗体frmTest.frm ,在窗体上放置按钮cmdLoadOcx—“原理图” ---- 2、声明窗体级变量与加载函数LoadControl Dim WithEvents oControl As VBControlExtender '地图仿真控件对象 Dim mblnTheory As Boolean '是否显示原理图 Private Function LoadControl(intType As Integer) If Not oControl Is Nothing Then '首先判断对象是否存在,若存在则卸载 Controls.Remove("MapView") '卸载控件,此操作非常重要 End If If intType = 0 Then Set oControl = Controls.Add ("CTheory. Theory", "MapView") Else Set oControl = Controls.Add ("CFact.Fact", "MapView") End If oControl.Height = 3500 oControl.Width = 6500 oControl.Top = 100 oControl.Visible = True End Function Private Sub Form_Load() mblnTheory = True End Sub ---- 3、为按钮cmdLoadOcx编写代码 Private Sub cmdLoadOCX_Click() If mblnTheory Then Call LoadControl(0) mblnTheory = False cmdLoadOCX.Caption = "实物图" Else Call LoadControl(1) mblnTheory = True cmdLoadOCX.Caption = "原理图" End If End Sub ---- 4、为事件ChangePosition编写代码 Private Sub oControl_ObjectEvent (Info As EventInfo) Select Case Info.Name Case "ChangePosition" MsgBox CStr(Info.EventParamters.Item( 1).Value) + ":" + _ CStr(Info.EventParamters.Item(2).Value) Case "DbClick" '双击处理代码 Case Else ' End Select End Sub ---- 注意: EventInfo的参数EventParamters集合中是以1开始的,一般来说,微 软新的集合一般是以1开始的,而旧的是以0开始的,如RdoErrors.Item(0)。 ---- 5、关闭窗口前卸载控件 Private Sub Form_Unload(Cancel As Integer) Controls.Remove("MapView") Set oControl = Nothing End Sub ---- 6、特别注意 ---- 通过Controls.Add方法添加的ActiveX控件一定不能在该工程中有该控件的任 何引用,否则系统将出错。 四、小结 ---- 通过使用动态加载ActiveX控件使用庞大的应用程序变得很小,将不同的 ActiveX控件进行各种组合,使应用程序更加灵活多变,如您的应用系统要处理三十种门禁, 而某个具体的用户可能只有一种或两种门禁,根本没必要首先将所有门禁包含到应用 中,可将各个门禁独立封装,只安装注册
需要
的组件,就象
Win
dows的自定义安装一样。 微软的未来技术基础是分布式的组件技术(DCOM),将会把代码的重用发挥得淋漓尽致。 您不妨试一试动态加载,也许会产生令您惊喜的效果! ---- 本代码在
Win
98
、
VB6
.0(英文版)上
编译
、
运行
。
用
VB6
+GDI+开发交互式CAD系统
本课程用
VB6
(Visual Basic)结合GDI+,从无到有开发一个功能较完整的小型交互式CAD系统。作者有交互式CAD系统、动态几何系统开发经验。出版过交互式CAD系统开发方面的图书。课程先讲准备知识,然后讲整个系统的开发思路和主要技术,最后将整个系统分成8个版本,从最简单的绘图开始,逐步添加功能,循序渐进地进行讲解。知识点讲解细致,系统。课程的核心在于源代码,学习每章内容之前,请先下载本章源码。建议先自行对源码进行阅读分析,然后带着问题去听课,这样学习效率比较高,效果比较好一些。课程最终提供的内容和服务:PPT+源码+视频讲解+持续升级/****课程第一节课为免费课,演示了系统的主要功能。可以用手机或电脑观看。如果无法观看,请私信我。谢谢!*****/友情提醒:凭订单信息可找平台客服开具发票。购买系列课程提供打包价,购买讲师卡更划算。
vb_cb_Close
Win
.zip
分别用VB、C++、Delphi编写的
win
dows重启、关机程序,包含完整源码,可直接
编译
。支持
win
98
\
win
2000\
win
Xp\
win
7\
win
10,试验均成功。 包含VB(
VB6
)、C++(C++builder)、Delphi7格式的源码。 支持命令行调用 (close
win
-r 30 表示倒计时30秒自动重启;close
win
-s 10 表示倒计时10秒自动关机。可结合
win
dows自带的“计划任务”工具,实现定时关机、定时重启。 紧急情况下可取消任务,方法:软件
运行
后,等待倒计时时,在界面空白处连续交替点鼠标左键、右键3次以上,可取消关机或重启任务。
简易定时器1、独有三种设置提醒时间的方式,令该程序更方便易用。
提醒任务,定是闹钟定时关机,请花三分钟时间仔细阅读本文档,使你对定时器有一定 的了解,从而更方便地使用定时器。 ★注意事项: 1、定时器是使用VB5
编译
的,所以程序
运行
需要
VB5
运行
库 (MSVBVM50.DLL)的支持。
WIN
98
以后的操作系统都包含这个
文件
。 这个
文件
也可以在
WIN
98
第一版安装盘内的
WIN
98
_33.CAB中找到。 2、有时选择某种时钟款式后会提示缺少字体,这是因为你的
WIN
DOWS 并没有安装定时器所
需要
的字体。请到我的主页 (http://smalllab.126.com)下载相应的字体。 3、如果用户遇到其它问题,请先查阅定时器目录下的FAQ.TXT。如 果该
文件
中的说明也不能帮助你解决问题,那么请写信给我,并说 明你使用的定时器版本、
WIN
DOWS版本等等详细情况。 ★定时器特点: 1、独有三种设置提醒时间的方式,令该程序更方便易用。 2、可以设置按时间、日期、星期、月份或年份进行定时提醒。 3、全面支持
WIN
DOWS 9X/NT/2000/XP等操作系统定时注销、重启、关 闭计算机及断开网络连接,并可设置强制关机!!! 4、可以定时打开其它程序或其它的
文件
。 5、支持半点报时、正点报时,支持最上层显示,支持播放提醒声音文 件。 6、附带一个精确至百分之一秒的秒表(计时器),从中可查看
Win
dows 和定时器
运行
了多长时间。 7、附带系统锁定功能,用户离开计算机时可以暂时锁定计算机。 8、软件连安装程序小于100KB,方便网友下载使用。 ★新手上路: 如果你是新使用定时器的用户,你可以尝试用鼠标双击或右键单击定时 器的主窗口,从弹出的窗口或菜单,你可以使用定时器的大部份功能。 ★命令行命令: 定时器支持以下命令行命令: /logoff 注销系统 /reboot 重新启动计算机 /shutdown 关闭计算机 /hangup 断开网络连接 /force 此参数可与/logoff、/reboot、/shutdown联用,用来设置强制 关机 /after:??:??:??:可将上面几个参数延迟??:??:??时间后执行 例如在命令行中输入:“timer /after:00:30:00 /shutdown”,就会在 启动定时器三十分钟后自动关闭计算机。 注:此功能受防止程序重复
运行
的限制。 ★扩展功能: 用Ctrl+鼠标右键单击定时器窗口,会弹出一个扩展功能的菜单用户从中 可以进行设置日期、时间;启动屏幕保护;弹出、关闭光驱;重启、关 闭计算机;断开网络连接等等系统操作。 ★版权信息: 1、定时器是一个免费软件。 2、任何人都可以分发和使用本软件,但不得以此作为牟利用途。 3、定时器的使用权归用户,但所有权为作者所有。 ★特别呜谢: 感谢whomi、gk、monkey、china、小林、gwx、陈宗庆、KTAND、冯、 郭金宝、雷、山猫、zhuolijian、赵巍、amw、sun、伟展、hally、 wangnj、zhaocd、lele、cjh、梁广全等,他们给定时器提供了很好的建 议或反馈信息。
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章