VS2010 开发 VB6.0 activeX控件 dll

工程源码

https://download.csdn.net/download/csdn_z_s/1042776

开发环境

操作系统: win7 64旗舰版

Java语言开发环境:  Eclipse3.7(jdk1.6u45)

C/C++语言开发环境:  cn_visual_studio_2010_ultimate_x86

VB语言开发环境:  VB6.0

前言

我们的项目主要以java为编写语言, 涉及到调用本地设备的底层模块使用的C/C++语言, java和C/C++之间利用JNI技术进行调用. 底层模块在和本地设备进行对接的方式之一是集成DLL(动态链接库)的形式.

前段时间项目中需要集成第三方厂家(Y厂)的DLL(YC.DLL), Y厂的DLL是使用VB编写的, 编译环境是VB6.0. 拿到DLL后, 先用Dependency Walker看了下内部的接口名称, 就四个:

DllCanUnloadNow

DllGetClassObject

DllRegisterServer

DllUnregisterServer

果然, 这就是传说中的activeX, 从网上的资料看, VB6.0编译出的dll均属于activeX控件.

至于DLL, OCX, activeX, COM组件概念上的区别, 网上都有很好的资料.

小插曲

刚拿到Y厂的YC.DLL后, 按照下一节的步骤, 在编译YC.DLL后, 编译器会提示”无法加载的动态库类型”, 而Y厂并没有相关的C/C++技术支持可以提供C/C++对他们的DLL的调用方式. 虽然自己之前也写过ocx控件, 将自己的ocx控件按照下一节的步骤, 编译一切正常. 但自己没有过在VB6.0编译器上通过VB语言进行开发的经验, 这让开发进度一再停滞.

后来偶然间在网页上查到一个在VS2010上引用VB6.0编译的dll的帖子, 截图如下:

按照图片所说的步骤, 我的vs2010竟然真的可以引用Y厂的dll.

关于vb6controls.reg可以参考:

REGEDIT

 

HKEY_CLASSES_ROOT\Licenses = Licensing:Copying the keys may be a violation of established copyrights.

 

// Masked Edit Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\BC96F860-9928-11cf-8AFA-00AA00C00905= mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj

 

// Chart Control 6.0 (OLEDB) license key

 

HKEY_CLASSES_ROOT\Licenses\12B142A4-BD51-11d1-8C08-0000F8754DA1= aadhgafabafajhchnbchehfambfbbachmfmb

 

// Common Dialog Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905= gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj

 

// ADO Data Control 6.0 (OLEDB) license key

 

HKEY_CLASSES_ROOT\Licenses\C4145310-469C-11d1-B182-00A0C922E820= konhqhioohihphkouimonhqhvnwiqhhhnjti

 

// Common Controls-3 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\38911DA0-E448-11D0-84A3-00DD01104159= mcpckchcdchjcjcclidcgcgchdqdcjhcojpd

 

// Windows Common Controls-2 5.0 (SP2)license key

 

HKEY_CLASSES_ROOT\Licenses\9E799BF1-8817-11cf-958F-0020AFC28C3B= uqpqnqkjujkjjjjqwktjrjkjtkupsjnjtoun

 

// Windows Common Controls license key

 

HKEY_CLASSES_ROOT\Licenses\57CBF9E0-6AA7-11cf-8ADB-00AA00C00905= aahakhchghkhfhaamghhbhbhkbpgfhahlfle

 

// Data Bound Grid Control 5.0(SP3) licensekey

 

HKEY_CLASSES_ROOT\Licenses\556C75F1-EFBC-11CF-B9F3-00A0247033C4= xybiedobrqsprbijaegcbislrsiucfjdhisl

 

// Data Bound List Controls 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\096EFC40-6ABF-11cf-850C-08002B30345D= knsgigmnmngnmnigthmgpninrmumhgkgrlrk

 

// Internet Transfer Control 6.0 licensekey

 

HKEY_CLASSES_ROOT\Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908= yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun

 

// Multimedia Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\B1EFCCF0-6AC1-11cf-8ADB-00AA00C00905= qqkjvqpqmqjjpqjjvpqqkqmqvkypoqjquoun

 

// Chart Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\7C35CA30-D112-11cf-8E72-00A0C90F26F8= whmhmhohmhiorhkouimhihihwiwinhlosmsl

 

// Windows Common Controls-2 6.0 licensekey

 

HKEY_CLASSES_ROOT\Licenses\4F86BADF-9F77-11d1-B1B7-0000F8753F5D= iplpwpnippopupiivjrioppisjsjlpiiokuj

 

// Windows Common Controls 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1= knlggnmntgggrninthpgmnngrhqhnnjnslsh

 

// Comm Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905= kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

 

// DataGrid Control 6.0 (OLEDB) license key

 

HKEY_CLASSES_ROOT\Licenses\CDE57A55-8B86-11D0-b3C6-00A0C90AEA82= ekpkhddkjkekpdjkqemkfkldoeoefkfdjfqe

 

// DataList Control 6.0 (OLEDB) license key

 

HKEY_CLASSES_ROOT\Licenses\A133F000-CCB0-11d0-A316-00AA00688B10= cibbcimbpihbbbbbnhdbeidiocmcbbdbgdoc

 

// DBWin license key

 

HKEY_CLASSES_ROOT\Licenses\D015B071-D2ED-11d0-A31A-00AA00688B10= gjdcfjpcmjicjcdcoihcechjlioiccechepd

 

// MSDBRPT license key

 

HKEY_CLASSES_ROOT\Licenses\9DF1A470-BA8E-11D0-849C-00A0C90DC8A9= cchcqjejhcgcqcfjpdfcdjkckiqikchcojpd

 

// FlexGrid Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\72E67120-5959-11cf-91F6-C2863C385E30= ibcbbbebqbdbciebmcobmbhifcmciibblgmf

 

// MAPI Controls 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\899B3E80-6AC6-11cf-8ADB-00AA00C00905= wjsjjjlqmjpjrjjjvpqqkqmqukypoqjquoun

 

// MSRDO 2.0 license key

 

HKEY_CLASSES_ROOT\Licenses\B1692F60-23B0-11D0-8E95-00A0C90F26F8= mjjjccncgjijrcfjpdfjfcejpdkdkcgjojpd

 

// RemoteData Control 6.0 license key

 

HKEY_CLASSES_ROOT\Licenses\43478d75-78e0-11cf-8e78-00a0d100038e= imshohohphlmnhimuinmphmmuiminhlmsmsl

 

// Windo

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值