VB.NET 开发Com组件在 VB调用

VB.NET 开发的WINDOWS 界面控件如何应用在网页中          最近项目中遇到一个需求,需要把之前采用VB.NET开发的WINDOWS EXE程序转化成采用WEB方式调用运行,之前一下就想到了VB6中开发ocx控件的方式实现,但由于把现有.net应用转变为vb6应用需要的工作量比较大,考虑是否可以直接用.net平台转换,从而采用了把现有工程转变为.net的windows控件工程然后在转变成COM控件的形式。由.net的exe转变为.net 阅读详情

原来在vs.net 2005中用vb来实现这个功能是如此的简单。

 方法如下:

 新建一个 项目 ,选择 Visual Basic / Window / 类库 ,假设项目名为ClassLibrary1

 然后 在 solution manager(解决方案资源管理器)中, 将 新创建的 Class1.vb 文件删除。

 然后 在  solution manager(解决方案资源管理器)中 的项目上点击右键 ,在弹出的菜单上 点击 添加 / 类 ,在弹出的对话框中选择 com类 ,修改类的名称(本例中修改为ClassApp.vb),后点击 添加 按钮。

 

<ComClass(ClsApp.ClassId, ClsApp.InterfaceId, ClsApp.EventsId)> _
Public Class ClsApp

#Region "COM GUID"
    ' 这些 GUID 提供此类的 COM 标识
    ' 及其 COM 接口。若更改它们,则现有的
    ' 客户端将不再能访问此类。
    Public Const ClassId As String = "c47c7000-b5b0-4e7d-a985-d0e4ef0a0868"
    Public Const InterfaceId As String = "39d04b13-3f4c-4a16-977d-f205a96f8a00"
    Public Const EventsId As String = "fc43772a-c3ae-429e-8f89-d9c7b613b2d7"
#End Region

    ' 可创建的 COM 类必须具有一个不带参数的 Public Sub New()
    ' 否则, 将不会在
    ' COM 注册表中注册此类,且无法通过
    ' CreateObject 创建此类。
    Public Sub New()
        MyBase.New()
    End Sub

 

    Public Function ExecuteEvent(ByVal sText As String) As Boolean
        On Error GoTo Err

        MsgBox(sText)

        Exit Function
Err:
        MsgBox(Err.Description, vbInformation)
        ExecuteEvent = False
        Exit Function
    End Function

End Class

 

 

---------------------- 

然后就可以编译,编译后,在VB中添加如下的代码来调用这个com  

 

Private Sub Command1_Click()
    Dim obj As Object
    Dim sXml As String
    sXml = ""
    Set obj = CreateObject("ClassLibrary1.ClsApp")
    obj.ExecuteEvent "TEST !"
End Sub

 


 

VB6/VB.NET实现AES加密:COM互操作与原生加密实战指南 AES(高级加密标准)作为当前主流的对称加密算法,通过分组密码和多重加密轮次确保数据安全,其高效性和强安全性使其成为保护敏感信息的核心技术。在工程实践中,AES广泛应用于数据库连接字符串加密、配置文件保护和网络数据传输等场景。对于Visual Basic开发者而言,在VB6等传统环境中实现AES常面临原生支持不足的挑战,而通过COM互操作技术调用.NET的System.Security.Cryptography命名空间,成为连接遗留系统与现代加密标准的关键桥梁。本文聚焦于VB6与VB.NET环境下的AES实 阅读详情

相关推荐

SCADA|测试KingSCADA4.0信创版采集汇川PLC AC810数据

摘要:雷工分享KingSCADA4.0信创版采集汇川PLC数据的配置过程。由于项目繁忙,笔记更新延迟。信创产业要求采用国产化产品,此次通过ModbusTCP协议连接AC810 PLC。主要步骤包括:新建IOServer应用(需厂家协助从3.8升级至4.0)、安装ModbusTCP驱动、配置设备地址(192.168.1.88:5021)、运行IOServer并通过网页监控变量。尽管信创版操作体验较差,但出于国产化战略需要仍需使用。雷工表示理解产品初期不足,相信未来会逐步优化。2025年4月11日记录于四川绵阳

做有价值的事,积累有价值的笔记! 817

vb.net 封装组件com的方法

NULL 博文链接:https://teddywang.iteye.com/blog/780540

YOLO11 改进系列 | 引入2023年 MLCA 的 C3k2_MLCA 模块,近零参数开销的本地-全局通道注意力,适合检测与分割特征增强

本文提出将MLCA(混合局部通道注意力)模块嵌入YOLOv11的C3k2框架中,形成C3k2_MLCA改进结构。该模块通过5×5局部池化和1×1全局池化双路融合,结合ECA式Conv1d生成通道注意力,在几乎不增加参数量的前提下(仅增加66个参数),实现了局部空间信息与全局通道统计的联合建模。相比传统SE和ECA注意力,MLCA保留了空间分布信息,更适合实例分割等需要精细定位的任务。实验表明改进后模型参数量仅增加0.002%,计算量基本不变,是一种高效的注意力增强方案。

qq_44224801的博客 62

vb.NET 中使用 COM+ 服务

 查看原帖2002-04-29 15:33作者: 出处:Microsoft责任编辑:  摘要:将新的 Microsoft .NET 组件添加到现有的 COMCOM+ 应用程序中,它们将协同工作;如果您需要开发能够参与事务、利用基于角色的安全性或者与队列交互的 .NET 应用程序,这样做对您很有帮助。  目标 学习在 Microsoft? .NET 中使用 COM+ 服

优秀技术文章收录 2723

VB.net调用Com组件方法

第一种方法 Dim oType As Type = Type.GetTypeFromProgID("Aniu.AnSoft") Dim obj As IAnSoft = CType(Activator.CreateInstance(oType), IAnSoft) Dim bk As IBasePlugInterFace = obj.get...

阿牛的博客 3575

vb.net编写并调用com元件

利用vb.net编写并调用com元件的过程:1、建立ClassLibrary。即建立一个类库。然后将默认的普通class删掉,右键Item,选择ComClass,在这个类中需要引入.NET下的System.EnterpriseServices这个架构的支持。方法是:Add Reference,然后选择.net下的这个架构。然后再该类中Imports System.EnterpriseServices                 Imports System.Runtime.InteropServices

studyandhappy的专栏 3090

转: 在VB调用.Net托管程序集

1.定义接口  com是通过抛出接口让外部应用调用的,每个接口、组件都有一个guid,在.net开发com组件也不例外。  [guid(“0bb13346-7e9d-4aba-9ff2-862e0105489a”)]  public interface imyservice  {  //定义接口方法或者属性,每个方法或属性都有一个dispid属性,供vbscript等使用      [dispi

疯狂的烙饼 Crazy Flapjack 1033

使用.NET2.0编写COM组件VB调用

 1.定义接口  Com是通过抛出接口让外部应用调用的,每个接口、组件都有一个Guid,在.Net开发Com组件也不例外。  [Guid(“0bb13346-7e9d-4aba-9ff2-862e0105489a”)]  public interface IMyService  {  //定义接口方法或者属性,每个方法或属性都有一个DISPID属性,供VBScript等使用      [Di

小猪的Blog 1120

vs.net 2005 创建COM组件VB调用

原来在vs.net 2005中用vb来实现这个功能是如此的简单。 方法如下: 新建一个 项目 ,选择 Visual Basic / Window / 类库 ,假设项目名为ClassLibrary1 然后 在 solution manager(解决方案资源管理器)中, 将 新创建的 Class1.vb 文件删除。 然后 在  solution manager(解决方案资源管理器)中 

455

VS2015_VB.NET_x64_调用COM组件演示程序源代码

源码下载地址:https://gitee.com/topview999/TopViewQHTCtpCom

boyanhat的博客 427

VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(一)

为了保护自己辛辛苦苦编写的Excel VBA代码不被盗用,我们需要对Excel VBA代码进行加密。通常的做法是利用给工程设置密码的方法实现加密,对于这类加密方法,由于存在安全度低、易破解等问题,因此往往起不到应有的效果。通过将Excel VBA代码封装成DLL动态链接库,可有效防止代码被非法查看。在百度里搜索“封装EXCEL VBA”关键字,有很多封装VBA的教程,但99%是利用VB6(Microsoft Visual Basic 6.0)来封装,主要原因是VB6的操作界面及语法与Excel的VBA具有极

chinaherolts2008的博客 3859

VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(二)

.NET是微软公司在2002年推出的全新编程框架,支持多种语言应用程序开发。使用Visual Basic在Microsoft .NET Framework上编程,这就是Visual Basic.NET,简称VB.NETVB.NET是Microsoft Visual Studio .NET组件中的重要组成部分,是VB6.0的后续版本,VB.NET仍使用VB的基本语法,二者几乎在90%以上保持相似或相同,...

chinaherolts2008的博客 1169

ALLEGRO-PCB-ROUTER.rar_allegro pcb router_allegro rout_pcb route

Cadence Allegro印制电路板布线器,作为Allegro系统互连设计平台的一个部分,是市场上领先的用于自动或者交互式互连布线的解决方案。设计用于应对各种布线挑战,从简单的设计到需要复杂、高速设计规则的高密度印制电路板,Allegro印制电路板布线器应用功能强大的基于形状的算法以求最高效地使用设计布线面积。结果提高了设计效率的同时还缩短设计周期。

上一篇: VB webbrowser处理多个iframe
下一篇: VB 汉字转换拼音
sgzld
博客等级 码龄19年 2粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值