社区
VB基础类
帖子详情
VB是否有可能摆脱MSVBVM60.DLL
Sandrer
2008-01-24 10:12:46
之前做了个程序,在子类化的时候程序发生错误自动退出,但是没有提示哪里出错,所以怀疑是API导致的。
于是用OD分析调试程序。
不看还好,一看才发现,原来VB编译出来的程序,无论你调用多少API,程序都不是直接调用API的,而是使用MSVBVM60.DLL中的叫“DllFunctionCall”、“MethCallEngine”、的函数
而且还有很多其他字符处理的函数。
所以我才想到这个问题,大家给点意见。
...全文
1339
35
打赏
收藏
VB是否有可能摆脱MSVBVM60.DLL
之前做了个程序,在子类化的时候程序发生错误自动退出,但是没有提示哪里出错,所以怀疑是API导致的。 于是用OD分析调试程序。 不看还好,一看才发现,原来VB编译出来的程序,无论你调用多少API,程序都不是直接调用API的,而是使用MSVBVM60.DLL中的叫“DllFunctionCall”、“MethCallEngine”、的函数 而且还有很多其他字符处理的函数。 所以我才想到这个问题,大家给点意见。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
35 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
szysslszy
2011-02-16
打赏
举报
回复
那是VB的“虚拟机”,必须要用。
「已注销」
2009-06-20
打赏
举报
回复
相信大家都想让自己的VB程序能够脱离那个累赘的DLL---msvbvm60.dll。可是使用各种方法都不行。网上的方法有:
VC打包法:这个问题可笑之极,如果VB都用vc打包,干嘛还用VB,直接学VC的啦,况且VC程序也比VB+msvbvm60.dll小。
更改DLL法:实在是找事!!把APP里的msvbvm60.dll改成什么DLL?那么VB初始化需用的VBRUN函数去哪找?
解压法:用winrar压缩。无言以对。。。。
以上的方法都不可行,是因为vb的初始化是要用到VBRUN函数的。所以要想彻底摆脱DLL,应认识到VB的初始化。为什么vb会有初始化呢?因为VB的C2.EXE。C2是vb专有编译文件,C2根据VBP、FRM、BAS、CTL等选择初始化函数,但是,无论你的窗体多么简单,他都要做这么几件事:初始化内存、窗体颜色等、申请DLL使用权等等。
重要的是vbrun。他包含许多执行以VB6设计的软件所必要的执行文件以及动态连结文件。总共有以下这些最新版的动态连结文件(DLLS):Advpack.dll、 Asycfilt.dll、Comcat.dll、msvbvm60.dll、Oleaut32.dll、Olepro32.dll、 Stdole2.tlb、W95inf16.dll、W95inf32.dll。根据使用的额外函数,dll数量会有变化。
可能有朋友要问:怎么取消vb初始化呢?这个问题还是留给microsoft好了。要想解决这个问题,就得重新写C2.exe。那时,全世界都将掀起一阵vb风,所有的简单,中等的程序都用vb写。制作程序更简单。不过,microsoft声明他们不用VB写windows,但是我有疑问:为什么microsoft连二三百MB的.net都敢集成,却不敢放进一个小小、1.20MB的msvbvm**.dll?
「已注销」
2009-06-20
打赏
举报
回复
补充一下,kernel32.dll,user32.dll功能你也可以自己写
「已注销」
2009-06-20
打赏
举报
回复
你学win32汇编算了,不过还是要kernel32.dll,user32.dll...
程序员老干部
2008-01-28
打赏
举报
回复
摆脱它有意义吗?
dunzimu
2008-01-28
打赏
举报
回复
VB很牛,很暴力。
麦壳饼
2008-01-28
打赏
举报
回复
.net 很牛。但是也离不开框架。
java很牛业离不开虚拟机。
当然, c++要写出来好程序, 还是离不开mfc
ncca
2008-01-27
打赏
举报
回复
关注,可以把dll压缩,用其他语言加壳到自身,运行的时候释放,然后。。
m60a1
2008-01-26
打赏
举报
回复
LZ可以告诉你,肯定不行,VB在运行自己的时候,自己会加载数十个API
来支持自己,如果把那个库去了,VB将不能正常运行!
重新安装系统后,查看注册表你会发现微软的系统,自带了一些VB的内容
就算你不安装VB这些东西还是会有!
Sandrer
2008-01-26
打赏
举报
回复
看来是不可能的了,结帖。。。。。。。。。。。。
IamDeane
2008-01-26
打赏
举报
回复
没有可能里看那个DLL,它的根本就是那个DLL,没有那个DLL,就不是VB了
ly_liuyang
2008-01-26
打赏
举报
回复
用Delphi就没这个问题啦,呵呵
早起旺财
2008-01-26
打赏
举报
回复
VB是不能摆脱MSVBVM60.DLL
开发速度快,程序执行速度慢也就是这个原因
eslbs
2008-01-25
打赏
举报
回复
程序运行的时候
程序exe段
(静态变量、全局变量)
(代码段)
等
加载DLL段
(静态变量、全局变量)
(代码段)
等
程序的exe段可能直接或者间接调用dll里的东西,其实就是直接 call或者 jmp过去
所以如果你能力强
完全可以把 exe的代码和dll里你需要调用的代码段合在一个文件里面
把原来exe调用dll 的代码的跳转 全部指向你合成一个exe的对应地址
这样生成的exe 比原来的exe体积要大 但是比exe+dll的体积要小
因为dll里面没有用的代码并没有生成在你的新exe里面
理论上这些是可以实现的
只是理论……
Tiger_Zhao
2008-01-25
打赏
举报
回复
首选:程序没写好不要怪编程工具;
其次:错误提示只能在VB监控的代码内,用API离开VB监控就需要自己进行错误判断了。
还有:世上没有完美的编程工具,享受便捷的同时必定需要受到一些限制。
最后:如果脱离MSVBVM60.DLL,那么IDE也需要重做,那就不是VB6了。
warlord
2008-01-25
打赏
举报
回复
VB如果摆脱了MSVBVM60.DLL,那就是另外一种语言了.
嗷嗷叫的老马
2008-01-25
打赏
举报
回复
....飘过~~~~
东方之珠
2008-01-25
打赏
举报
回复
VB中关于API的Declare声明是不能直接调用API的,而是通过MSVBVM60.DLL进行虚拟调用。但,有时候会出现下面的错误:
Microsoft Visual C++ Runtime Library
Runtime Error!
Program:E:\MyAlbum\photo.exe
R6025
-pure virtual function call!
但,后来我解决了这个问题:增加一倍内存,重装系统。
Sandrer
2008-01-25
打赏
举报
回复
哎~~~
dk_fangkai
2008-01-25
打赏
举报
回复
从 Win Me 开始所有 Window 均自带此库,打包时无需包含。
调用C/C++等所写外部Dll时需仔细控制资源引用,如考虑稳定需在外部bin上仔细检查或二次封装。
加载更多回复(14)
VB
程序大揭秘(转载)用
VB
的不得不看的好东西!
http://cnprogram.myrice.com/article/
vb
/
vb
396.html 程联盟--技术文章
VB
程序大揭秘 1.Visual Basic程序概况 我用W32Dasm(Ver 8.93)解开一个比较复杂的
VB
程序,其中用到了许多API 函数比如GetPrivateProfileString、OSfCreateShellLink、SHBrowseF
VB
6.0最精简免安装版 解压即用绿色开发环境
VB
6.0绿色版是一项充满智慧的“技术考古工程”。它让我们看到,即使是二十年前的设计,也能通过现代手段焕发新生。它可以是你口袋里的教学神器,也可以是运维现场的急救箱。但在享受便利的同时,也要清楚它的定位——它是通往未来的跳板,而不是避风港。与其不断修补一艘漏水的船,不如学会建造一艘新的舰艇。🌊所以,下次当你再次打开那个熟悉的蓝色IDE时,不妨问一句:这段代码,值得我用今天的现代化工具重写一遍吗?也许答案就是你技术演进的第一步。本文还有配套的精品资源,点击获取。
VB
程序大揭秘
VB
程序大揭秘(转载)用
VB
的不得不看的好东西! http://cnprogram.myrice.com/article/
vb
/
vb
396.html 程联盟--技术文章
VB
程序大揭秘 1.Visual Basic程序概况 我用W32Dasm(Ver 8.93)解开一个比较复杂的
VB
程序,其中用到了许多API 函数比如GetPrivateProfileString、OS
java、c、c++、vc、vc++、
vb
的区别和联系
一:简单的对比
VB
是由Basic语言演化而来的VisualBasic,意思是可视化Basic,而VC是由C++语言演化而来的VisualC++,意思是可视化C++,
VB
功能没有VC强大,但是很容易掌握,推荐先学习
VB
,如果将来要专业学习编程,可以再进攻VC,那时你会发现原来掌握编程基础后VC是多么的容易学习。 VC的博大在于MFC的操纵,它是Win32API的封装. 关键在于怎样了解MFC的
木马技术
木马技术
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章