C++ API 到 C# 的自动转换?
Posted
技术标签:
【中文标题】C++ API 到 C# 的自动转换?【英文标题】:Automatic conversion of C++ API to C#? 【发布时间】:2011-10-09 17:07:33 【问题描述】:我想知道是否有类似 C++ API 到 C# 的自动转换/包装代码生成之类的东西?
具体来说,我正在寻找一种从 C# 调用远程桌面服务 API 的方法。
【问题讨论】:
它真的是一个 C++ API,还是只是一个 C API?对于 C++,请查看 SWIG。对于 c API 检查clrinterop.codeplex.com/releases/view/14120 【参考方案1】:一个建议:C++/CLI。 使用 C++/CLI,您可以使用用 C/C++ 编写的库到 C/C++ 以及 .net 库/dll。更多信息: A first look at C++/CLI
【讨论】:
【参考方案2】:不,您肯定需要创建互操作代码。 如果它是 COM api,则有某种支持直接与 C# 一起使用它
【讨论】:
【参考方案3】:您可以尝试反编译 RDCMan (http://www.microsoft.com/download/en/details.aspx?id=21101),它可以做到。或者 Codeplex 上有一个开源项目也可以做到这一点。
http://terminals.codeplex.com/
编辑:
还有一个微软提供的工具调用 aximp (http://msdn.microsoft.com/en-us/library/8ccdh774(v=VS.100).aspx)。如果您运行 aximp.exe path_to\mstscax.dll,它将生成一个包装 ActiveX 控件的 .NET WinForms 控件库。
【讨论】:
我现在正在使用终端项目,它包含我需要的所有互操作代码。感谢您的帮助! c:\windows\system32\mstscax.dll 是一个即用型 ActiveX 控件。以上是关于C++ API 到 C# 的自动转换?的主要内容,如果未能解决你的问题,请参考以下文章
C#项目中如何调用C#写的dll中的资源文件,如 xml文件
C# 隐式运算符 MyType(int value) 自动“支持”从浮点数转换
如何自动化(从命令行)安装 Visual Studio Build Tools 构建环境,适用于 C++、.NET、C# 等