C#调用DLL非托管函数的一般方法
2009-09-05 21:33
162 查看
在form.cs文件的类里面所有方法的前面加入:
[DllImport("被调用的dll名称")]
修饰符 extern 函数返回类型 函数名(参数列表)
然后在需要调用的地方可以直接调用。
//注意
1.要把dll放在bin文件夹下面的debug文件夹里面
2.在开头要using System.Runtime.InteropServices;否则编译是会出错提示:缺少usingn 命名空间
3.这里的函数返回类型 函数名(参数列表)必须与DLL里面的一致。如果DLL的函数中没有修饰符的话,可以用static。
例子:
C++DLL:
int _stdcall add(int a,int b);
C#:
[DllImport("testDll.dll")]
static extern int add(int a, int b);
public Form1()
{
InitializeComponent();
}
//点击按钮计算文本框1+文本框2的结果。
private void button3_Click(object sender, EventArgs e)
{
textBox5.Text = Convert.ToString(add(Convert.ToInt32(textBox1.Text),Convert.ToInt32(textBox2.Text)));
}
还有其他方法,以后再慢慢研究~~~
[DllImport("被调用的dll名称")]
修饰符 extern 函数返回类型 函数名(参数列表)
然后在需要调用的地方可以直接调用。
//注意
1.要把dll放在bin文件夹下面的debug文件夹里面
2.在开头要using System.Runtime.InteropServices;否则编译是会出错提示:缺少usingn 命名空间
3.这里的函数返回类型 函数名(参数列表)必须与DLL里面的一致。如果DLL的函数中没有修饰符的话,可以用static。
例子:
C++DLL:
int _stdcall add(int a,int b);
C#:
[DllImport("testDll.dll")]
static extern int add(int a, int b);
public Form1()
{
InitializeComponent();
}
//点击按钮计算文本框1+文本框2的结果。
private void button3_Click(object sender, EventArgs e)
{
textBox5.Text = Convert.ToString(add(Convert.ToInt32(textBox1.Text),Convert.ToInt32(textBox2.Text)));
}
还有其他方法,以后再慢慢研究~~~
相关文章推荐
- c# 生成dll python 调用的方法
- 浅谈C++调用C#的DLL程序方法
- C#调用VC DLL接口函数参数类型转换的方法
- C#调用DLL方法
- C#调用Delphi的dll的两种方法
- C#调用带结构体指针的C Dll的方法
- C#调用Matlab生成的dll方法的详细说明
- [总结]非托管C++代码调用C#编写的dll方法
- C#反射动态调用dll中的方法及使用QuartZ.net实现作业调度
- C# 制作Com组件:java调用.net DLL的方法
- C#调用c++的dll 回调使用方法
- VC++调用C#生成DLL的两种方法!
- c#调用非托管函数的一个方法
- VC++ 调用 C#生成DLL的两种方法
- C#调用VC DLL接口函数参数类型转换方法介绍
- C#调用C++的dll两种方法(托管与非托管)
- C#调用dll提示"试图加载格式不正确的程序"原因及解决方法
- VC++ (MFC)调用 C#生成DLL的两种方法
- 巧用C#做中间语言 实现Java调用.net DLL的方法