我有一个用 Visual C++ 编写的 COM DLL。我完全控制那个 COM DLL 代码。当然,它可以从托管和非托管应用程序中使用。我想插入一个非常具体的检查,该检查只应在 .NET 应用程序使用 COM DLL 时运行。
我的 COM 对象是否有某种编程方式来检测它是从 .NET 应用程序还是从非托管应用程序使用?
最佳答案
这类“我的环境是什么”的问题总是有相同的答案。您的主机很容易确定它是否被管理,只需在您的界面上添加一个属性让它告诉您。与替代方案相比,这是一个微不足道的解决方案。在 COM 中不可能可靠地实现,有很多托管服务器的方法。
关于.net - 如何检测 .NET 应用程序是否正在使用我的 COM 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6030655/