VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用

这篇具有很好参考价值的文章主要介绍了VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VB6写的ActiveX EXE公共对象是外置进程,因此,尽管它是x86 32位的进程,但可以集成到 VB.NET的x64和x32程序中使用。

VS2022的VB.NET程序,调用ActiveX DLL对象我在上篇笔记中写了

VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库_Mongnewer的博客-CSDN博客

为了简短,调用ActiveX exe就在它上面做修改。

1. 对填加依赖项的修改

对于Activex DLL注册过的COM在填加引用时是可以在列表中看到的,而Activex EXE方式的COM则需要直接填加 EXE 那个文件,在项目管理器的依赖项中会显示出类的名称。

VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用,VB.NET,Activex EXE

2. 有了COM依赖项,Imports 引用就和 Activex DLL一样了,之后建接口也是一样的。

VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用,VB.NET,Activex EXE

3. ActiveX EXE的加载

因为Activex EXE是外部程序,使用时必须先加载,不然Imports和new接口没办法工作。想了想就在创建应用时,在它的new里装入吧。

VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用,VB.NET,Activex EXE

 4. 退出处理

退出实际上不用处理,只是在系统的任务管理器中会留下 Activex EXE 无控制的运行,下次重启系统也就没有了,而且它几乎不占资源,但遇上有人计较就是个不完美的问题。CSDN高人无数,就将博主 ssmi 的原码和版权声明一同贴到FormClosed过程中,让它到系统中找ActiveX EXE进程,然后全部屠杀掉。

    Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
        s = Nothing
        '版权声明:   本文为CSDN博主「smmi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
        '原文链接:   https : //blog.csdn.net/smmi/article/details/84277610
        Dim i As Integer
        Dim proc As Process()
        '判断excel进程是否存在
        If System.Diagnostics.Process.GetProcessesByName("MBFMODIEEE").Length > 0 Then
            proc = Process.GetProcessesByName("MBFMODIEEE")
            '得到名为excel进程个数,全部关闭
            For i = 0 To proc.Length - 1
                proc(i).Kill()
            Next
        End If
        proc = Nothing
        '版权声明:   本文为CSDN博主「smmi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
        '原文链接:   https : //blog.csdn.net/smmi/article/details/84277610
    End Sub

5. 编译 x86还是x64 ?

Activex EXE是外部进程,不是内部线程,它就是个独立的程序,因此,不论是x86编译,还是x64都是可以的。编译完成后,项目EXE文件夹中把所需的DLL考贝进去,打包时同时打进去。

VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用,VB.NET,Activex EXE

 体会:

感觉Activex EXE方式比Activex DLL方式改造老旧更易用,因为灵活性更大一些。

VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用,VB.NET,Activex EXE

代码链接

https://download.csdn.net/download/weixin_45707491/88244920文章来源地址https://www.toymoban.com/news/detail-668702.html

到了这里,关于VB.NET调用VB6 Activex EXE实现PowerBasic和FreeBasic的标准DLL调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【VB6|第19期】vb6通过COM组件操作Excel

    日期:2023年7月3日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得 有所帮助 ,帮忙 点个赞 ,也可以 关注我 ,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01 365 = 37.7834;0.99 365 = 0.0255 1.02 365 = 1377.4083;0.98

    2024年02月12日
    浏览(44)
  • VB6.0生成二维条码的方法

    采用Microsoft Visual Basic 6.0调用EnCodePdf.dll和Wcomp.dll实现图形压缩与PDF417条码编制,先将EnCodePdf.dll、Wcomp.dll拷贝至工程文件目录下,再在VB中申明以下接口程序,按照以下指南操作即可。( Qr_Code条码调用也类似,只需将’PDF’改成’Qr’,引用EnCodeQr.dll )  { 参考项目源码下载:

    2024年02月10日
    浏览(51)
  • 使用vb.net调用bartender并打印标签

    1.项目调用第三方dll,使用bartender软件制作标签 2.输入内部批号信息,可根据内部批号带出其他基本信息,并体现在标签上 3.根据标签内容,可显示 条形码,二维码等信息,并可用BarCode 扫描内容,并显示正确 4.数量计算规则:标签个数= 打印批号的当前数量 / 1000 (一箱数量

    2024年02月11日
    浏览(65)
  • JavaScript与Swift的异同,python像vb6

     其实很多主流的编程语言都是大同小异,魔改了一下罢了。      JavaScript与Swift一样,是动态语言类型,即不用指定变量类型,会根据赋值的内容动态的判断出它的类型。与Swift不同的是,JavaScript定义变量的时候,也不需要指定变量类型或者必须得赋初始值。JavaScript可以在赋

    2024年01月16日
    浏览(45)
  • VB6.0 设置窗体的默认焦点位置在 TextBox 中

    在VB6.0中,窗体(Form)加载时会触发多个事件,这些事件按照特定的顺序执行。下面是窗体加载过程中常见事件的执行顺序: Form_QueryUnload 事件:在窗体即将关闭之前触发。你可以在此事件中进行一些清理操作或询问用户是否真的要关闭窗体。 Form_Unload 事件:在窗体关闭之前

    2024年02月09日
    浏览(61)
  • 【VB6|第22期】用SQL的方式读取Excel数据

    日期:2023年8月7日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得 有所帮助 ,帮忙 点个赞 ,也可以 关注我 ,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01 365 = 37.7834;0.99 365 = 0.0255 1.02 365 = 1377.4083;0.98

    2024年02月13日
    浏览(41)
  • VB6 注册表的递归访问与面象对象模块化封装

    1)较低层次的封装 “过程化模块封装” 模块: Module1包含windows API 注册表相关函数声明 及少量的 GetValue、SetValue函数等浅封装。 2)较高层次的封装 基于面向对象:类模块CEnumReg定义属性、方法、事件。 核心方法 EnumAll(hkey As Long, ByVal subkey As String) 1.该方法的作用递归枚举指

    2024年02月02日
    浏览(37)
  • js vue调用activex ocx

    js vue调用activex ocx 与IE调用方式不同处 CLSID和TYPE 或是动态创建 360浏览器安装 插件 谷歌浏览器升级到最新版本之后,不能添加CRX格式的插件 通过修改文件类型来解决,把“.crx”格式改为“.rar”格式 将插件的后缀名改成.rar格式 修改完成后,就会生成一个RAR的压缩文件。接

    2024年01月24日
    浏览(40)
  • vb毕业设计——基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码)——媒体播放器

    大家好,今天给大家介绍基于vb+VB.NET的媒体播放器设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦 文章目录: 本论文所描述的播放器是

    2024年02月12日
    浏览(45)
  • VB.net:VB.net编程语言学习之ADO.net基本名称空间与类的简介、案例应用(实现与SQL数据库编程案例)之详细攻略

    VB.net:VB.net编程语言学习之ADO.net基本名称空间与类的简介、案例应用(实现与SQL数据库编程案例)之详细攻略 目录 ADO.net基本名称空间与类 1、ADO.net六个基础名称空间 2、ADO.net类

    2024年02月06日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包