C#调用C++的DLL文件

例如在一个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#中最小的单位是类

posted on 2014-02-19 22:06  萧轩若怀  阅读(1271)  评论(0编辑  收藏  举报

导航