C#生成基于COM的DLL供VB调用

STM32智能安防与燃气监测系统:从原理图到仿真验证全解析 嵌入式系统开发中,传感器数据采集与可靠性设计是产品化落地的关键环节。通过ADC采样、滑动滤波和状态机逻辑,系统能够对燃气浓度、人体红外信号等环境参数进行实时判断与联动控制。在安防监测场景下,防误报策略和硬件电路的稳定性设计直接影响设备实际表现。本文基于STM32F103C8T6主控,结合Proteus仿真验证流程,详细拆解一个智能安防与燃气监测系统的完整实现:涵盖硬件原理图关键细节、软件状态机核心逻辑、防误报算法以及仿真测试方法,并整理高频故障排查技巧,为物联网安全应用开发提供可复用的工程参考。 阅读详情

用Visual C#生成的DLL文件已经和以前的DLL文件有了本质上的区别。VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件。但用Visual C#编译器生成的受托管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过NGWS (Next

Generation Windows Services) runtime的即时编译器(即JIT)进行编译。

 

 

一 新建项目

打开 VisualStudio2008 ,新建一项目,取名CSharpCOMDemo,项目类型【Visual C#】-【类库】

 

新建一个类取名为ClassMath,输入如下代码

 

 

注意类上的属性,对com可见和生成com类型。

 

 

二 生成项目

修改项目属性,使项目生成的同时生成 tlb类型库

右键点击项目-【属性】-【生成】-【为COM互操作注册】前打勾

 

这里也可点击【签名】为程序集签名。签名方法也比较简单

操作方法:【签名】-【为程序集签名】打勾,选择密钥文件即可。如果没有密钥文件,这里也可方便地新建一个密钥文件。

本例不作签名。

 

   

三 注册类型库

 

    输入regasm CSharpCOMDemo.dll /tlb: CSharpCOMDemo.tlb /codebase,将类型库导入到注册表。提示成功注册了类型,说明操作成功,此时TestCom .dll可以作为一个com来使用。

四 添加dll到GAC(全局程序集缓存 )

    输入gacutil /i CSharpCOMDemo.dll,将此.net程序集添加到GAC。将程序集添加到GAC后以让系统管理员通过用户权限来控制Assembly的访问。本例也不做添加。

 

 

 

 

C#调用vb dll 参数传递--数组、整型等(c#调用com) 本例子中实现在c#中调用由vb生成的dll文件(com调用)例子由两个主要步骤组成:一 为在vb中生成有参数和返回值的dll ;二 是在c#中引入步骤一中生成的dll,然后生成实例调用步骤一:首先在vb中新建一个ActiveX DLL 工程,然后在类模块文件中填入以下代码'********************基础类型的测试*******************Public Function fncStrTest(ByVal str As String) As StringfncStrTest = str 阅读详情

相关推荐

C#的DLL注册为COM,VB来调用

全新正版图书,特价销售,全场免运费,快来抢吧! 首先建立一个C#的DLL工程,写一个类//Test.csnamespace Test...{public class MyTest...{public string Fun()...{return this.ToString();}}},编译然后在cmd里执行VS的vsvars32.bat设置环境变量,然后执行

大海的专栏 2202

c++ 中使用c#的dll com方式

c++ 中使用c#的dll,如果使用的工程支持clr是没有问题的,但是如果不支持,就只能是用com方式。因为c++实现一个代理的http服务很麻烦,而用c#确很容易。这时候我就想用c#实现http代理的这么

xie__jin__cheng的博客 1515

vb调用C#写的dll

在做系统升级维护的项目中,用到了老系统(VB实现)要调用一部分新功能(C#实现)的情况,于是进行了简单的调查。发现如下资料网上发现的资料。---------------------------------------------------------------------------------------------------------------里面有两个方法

tourstar的专栏 2776

如何使用C#写一个Com Dll,可被VB6、C++等使用

请注意,需要将“YOURGUIDHERE”替换为自己的GUID。可以使用Visual Studio的“工具”菜单中的“创建GUID”命令来生成一个新的GUID。1. 在Visual Studio中创建一个新的“类库”项目。2. 单击“浏览”按钮,然后选择您的DLL文件。现在,可以在VB6项目中使用您的C# DLL了。3. 在“生成”菜单中选择“生成解决方案”。1. 在VB6项目中打开“项目引用”对话框。4. 在输出目录中找到生成的DLL文件。2. 在项目中添加您的代码。3. 单击“确定”按钮。

realyouandme的博客 794

C#写的dll跨语言调用

C#写的dll为非标准的windows下dll,故一般其他语言不能直接调用,当然基于.net平台下的编程语言是可以调用,要让其他语言调用C#写的dll一般通过webservice服务或者是Com方式。经过在网上找资料以及自身的实践发现可以通过以下方式在Delphi和VB语言中调用。 1.编写C#写dll,用VS新建一个类库项目TestDll,源码如下: using System; using

fly的专栏 1万+

C# 如何调用VB6.0编写的dll

C# 如何调用VB6.0编写的dll

happyliuliming的专栏 1万+

转:C# .NET中调用VB编写的DLL代码事例(我做了些修改)

转自:http://www.taotechinfo.com/collect/2010222/n68565463.html   .NET中如何调用VB6编写的DLL。   本文以C#为例,自己实践了一下。希望对遇到相关问题的人有所帮助。   本示例分成两部分,第一,生成vb的dll。第二,在C#中进行调用。   第一部分:   1.首先在VB中选择ACTIVX DLL工程类型。如图: ...

weixin_34356555的博客 613

C#与vb6 com组件的互相调用方法

COM(Component Object Model,组件对象模型),是一种说明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制和网络标准。通过这种标准将可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。       COM的优点?1.可代替原来的旧的 2.可重用行 3.简化分布式网络应用程

hrex的专栏 4821

C#生成com组件形式的dll供C++调用

①创建C#类库(ClassLibrary)、设置AssemblyInfo.cs中的[assembly: ComVisible(true)]默认是false、或者在接口和类之前添加设置为true [ComVisible(true)] [Guid("E709D3B9-18E8-4189-B1E0-49F72DD5A74C")] public interface Combi

ZeroCode 1331

C# 如何调用VB6.0编写的dll (1).doc

C# 如何调用VB6.0编写的dll (1).doc

C# 如何调用VB6.0编写的dll.doc

C# 如何调用VB6.0编写的dll.doc

(转)C#生成基于COM的DLL供VB调用

用Visual C#生成的DLL文件已经和以前的DLL文件有了本质上的区别。VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件。但用Visual C#编译器生成的受托管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过NGWS (Next Genera

converse0525的专栏 1707

QuickFix Java 实战(一)协议解析、环境搭建与首个应用

本文是QuickFix Java实战系列的第一篇,详细介绍了FIX协议的核心原理与QuickFix/J引擎的实战应用。内容涵盖FIX协议的标签化通信机制、QuickFix/J库的两种下载方法、协议定义文件解析,并通过一个完整的模拟订单发送示例,指导读者快速搭建首个FIX应用环境,实现消息生成与会话通信。

dog123的博客 495

用C#生成.dll 供VB6的开发人员调用

目录 用C#生成.dll 供VB6的开发人员调用 C#生成基于COM的DLL供VB调用 用C#生成.dll 供VB6的开发人员调用 里面有两个方法    Encrypt(string pToEncrypt,string sKey) //加密     Decrypt(string pToDecrypt,string sKey) //解密     然后你这样写代码:     using Sy...

SabreWulf 2287

2025海外代理IP深度横评:Bright Data、IPFoxy、SmartProxy等六大服务商实战对比

本文深度横评2025年六大海外代理IP服务商(Bright Data、IPFoxy、SmartProxy、IPIPGO、Kookeey及青果网络),基于实战测试数据,从IP池质量、速度稳定性、性价比等维度进行对比。针对跨境电商、数据爬虫、社交媒体管理等不同业务场景,提供精准的选购指南与避坑建议,帮助企业用户根据自身需求选择最合适的代理IP解决方案。

weixin_29196891的博客 434

iTunes登录协议逆向与自动化实现

本文详细解析了iTunes登录协议的逆向工程与自动化实现方法,涵盖请求体构造、签名生成和会话管理等关键技术。通过XML结构解析、X-Apple-ActionSignature生成原理及完整登录流程实现,帮助开发者高效完成iTunes自动化登录,提升工作效率。

weixin_26938645的博客 938

任意C#的DLL不用注册实现被VB6调用

VB6与C#之间的交互,据我所知,有以下几种方式: 1.socket通讯方式,VB6有Winsocket控件,C#有专门的位于System.Net.Sockets下的通讯类 2.共享内存,共享内存C#有专门的封装类,详情见我的这篇博客 ,但是VB操作共享内存麻烦,要调用Windows API(Kernel32.dll中的函数) 3.读写文件/数据库的方式。这种方式无非是轮询,一个程序写请求,另一个...

lishuangquan1987的博客 4489

ISP图像处理Verilog仿真框架搭建(附代码)

基于Verilog的图像处理仿真框架搭建

路漫漫其修远兮,吾将上下而求索 1896

C#编写dll, VB6.0调用

本周有个任务,实现一个数据上传接口,要求是VB6.0实现。

小鹰信息技术服务部 2682

思岚A1 上手教程

前言 寒假在家闲着也是闲着,索性就向是实验室借了一个思岚 A1激光雷达,来进一步完成自己的实验室实习项目。经过一个月在Linux上和ROS上的摸爬滚打,我已经对机器人开发和SLAM有了初步了解,现在就写个上手教程吧(以防自己以后忘了)。 Basic Support 硬件 一台电脑 思岚 A1激光雷达 软件 安装Virtual Box虚拟机 在虚拟机安装Ubuntu 16操作系统 在Ubuntu 16搭建ROS kinetic 简要步骤 1.现在w..

ajxdhe的博客 6382

一套C#接口通吃安川/发那科/库卡:工业机器人统一控制框架设计与产线踩坑实录

我们把机器人的通用能力抽象为接口,涵盖连接、运动、IO、寄存器、状态、报警六大类能力,所有品牌适配器都必须实现这个接口。/// 工业机器人统一控制接口// 基础连接// 运动控制// IO与寄存器// 状态与报警// 事件工业机器人统一控制框架的本质,不是把所有品牌的功能都做平,而是找到通用能力的最大公约数,通过分层抽象把品牌差异隔离在底层。上层业务只关注工艺和流程,不需要关心机器人是什么品牌、用什么SDK、通信协议是什么。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 402
上一篇: C生成DLL供C#或VB调用
下一篇: Windows右键菜单中添加自己的命令
mrliming
博客等级 码龄22年 31粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值