.net之如何从 C# 使用 C++ 代码
我需要使用 this库(Interception
)。它写在C++
.简而言之,它可以让您操纵来自键盘或鼠标的输入。 我需要做的是使用来自 C#
的一些调用.
我不确定该走哪条路。到目前为止,我已经读到你可以使用 Pinvoke
使用 C++
里面的代码 C#
.
我有很多关于 PInvoke
的问题:
1)做Pinvoke
库需要位于特定的系统路径中才能找到(例如 system32
)?
我读过得到正确的 PInvoke
签名可能很难并且容易出错,而且因为我找不到任何 PInvoke
Interception
的签名在 PInvoke.net 中,
2) 这是否意味着我应该停止使用 PInvoke
?
我也看到了,但没有详细说明,在 Visual Studio 中,当您创建项目时,您可以创建一个 Visual C++->CLR->Class Library
.
3) 我应该用它来构建一个程序集链接 Interception
?这个程序集可以在 C#
中使用吗? ?
无论如何,如果一个C#
替代 Interception
存在,我会改用它。
请您参考如下方法:
1) 不,如果库与可执行文件位于同一路径中,它就可以工作。
2) 您只能将 PInvoke 与 C 函数一起使用,而不是 C++ 对象。所以用PInvoke直接调用Interception库恐怕是不行的。
3) 您可以创建链接到拦截的 C++/CLI 库。但是您必须创建自己的 .NET 对象以将纯 C++ 对象包装在拦截中。
我建议您阅读一些有关使用 C++ 编写 CLR 代码的内容。在 C++/CLI 中制作 CLR 包装器可能是最简洁的方法。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。