C#调用C++的DLL文件

本文详细介绍了如何在C#项目中正确地调用DLL文件中的导出函数,包括设置目标平台、导入DLL以及调用函数的方法。通过一个具体的例子演示了实际操作流程,确保开发者能顺利实现跨组件调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如在一个DLL文件名字为:PlusEclipse,中其导出函数的原型为void SetHook(),那么其调用过程为:

首先将这个DLL文件放置到你C#程序所在的当前目录下。

其次将C#项目【生成】的【目标平台】修改为x86,而不是Any CPU。如果缺少这一步的话会提示错误:试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)。

最后其调用的格式为

[DllImport("PlusEclipse.dll",EntryPoint="方法名")]
public static extern 【Dll方法返回类型】 【方法名】(【需要的参数】);

例如:

public partial class Form1 : Form
{
    [DllImport("PlusEclipse.dll",EntryPoint="SetHook")]
    public static extern void SetHook();
public Form1()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    SetHook();
}
}

 

  注意【DllImport】一定要放在类中,因为C#中最小的单位是类

转载于:https://www.cnblogs.com/xxrhblog/p/3556695.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值