如何创建可以注册到 regsvr32 的库?

Posted

技术标签:

【中文标题】如何创建可以注册到 regsvr32 的库?【英文标题】:How to create library that can register with regsvr32? 【发布时间】:2016-12-27 23:54:07 【问题描述】:

作为link:

RegSvr32 仅适用于 win32 dll,据我所知 .NET dll 无法使用 regsvr32 注册

。那么如何创建注册到regsvr32的dll呢?

【问题讨论】:

How do I register a COM DLL written in C# with Regsvr32?的可能重复 你不能用 C# 做到这一点,因为你不能用它创建一个非托管的 dll。但是你为什么想要? Regasm 对托管 dll 执行相同的工作。 注册到regsvr32的dll(ocx文件)不依赖于.Net框架。这种类型的dll适用于每个系统,在Delphi中很容易使用。那么如何创建 ocx 文件(dll)?在哪个IDE中?是否可以在 Visual C++ 中创建这种 dll 类型? 是的,C++ 可用于创建非托管 COM dll @MHM 你可以使用visual studio创建一个MFC ActiveX项目或者ATL项目。 【参考方案1】:

你可以通读这些:

A Beginner Tutorial for Writing Simple COM/ATL DLL For VS2012

A Beginner Tutorial for Writing Simple COM/ATL DLL and Using it with .NET

【讨论】:

真的很感谢。 ATL make ocx 像 MFC activex 吗? ATL 和 MFC 完全不同。但是是的,他们都可以构建 COM 项目。 >简短的回答是,如果您没有做任何“花哨”的事情,请使用 ATL。它非常适合带有 COM 的简单用户界面。长答案:MFC 是在 90 年代初构建的,用于尝试这种称为 C++ 的新语言并将其应用于 Windows。当操作系统还没有类似 Office 的功能时,它使开发社区可以使用这些功能。reasource

以上是关于如何创建可以注册到 regsvr32 的库?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Regsvr32 注册 .NET COM DLL?

无法使用 regsvr32 注册我的 DLL,但可以通过 IDE 工作

将 .dll 注册到 COM 时出错

如何在没有regsvr32的情况下注册glut32.dll?

当 /u arg 不起作用时,如何取消注册最初使用 RegSvr32 添加的 COM dll?

█c# 为啥有的dll不能直接引用,必须regsvr32 注册后 才能引用?