仅从特定的dot-net程序集执行c++dll调用

本文关键字:程序集 执行 c++dll 调用 dot-net | 更新日期: 2023-09-27 18:01:54

我有一个dotnet应用程序,我必须从中调用一个c++dll。现在我想锁定C++dll,这样只有C#应用程序才能调用它,它不会为其他任何事情工作。。。曾经有办法做到这一点吗?

我有一个主意,但我不确定这是否可能。我有代码签名证书,这样我就可以对我的应用程序进行签名,并将应用程序句柄传递给dll,然后从由我签名的句柄中检查证书,以便我调用执行dll或停止它并返回。

有什么建议吗。

仅从特定的dot-net程序集执行c++dll调用

这个MSDN链接可能有你想要的,但我还没有尝试以你想要的方式使用它。

http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly%28v=vs.110%29.aspx

Assembly类具有GetExecutingAssemblyGetCallingAssemblyGetEntryAssembly等出色的方法。我认为,按照Assembly::GetExecutingAssembly()->GetCallingAssebmly()->FullName的思路做一些事情。。。这可能不是一个合适的c++代码,但你可能可以看到我的意图。(我专门研究C#,它的语法略有不同(