我是编程新手,我基本上是想将用C编写的第三方.dll文件提取到C#代码中,然后将其功能之一输出到接口。下面是.DLL使用的头文件中的函数声明。我想我必须在C#中重新定义它,因为它不能使用C标头。
int SPI_GetNumChannels(int * numChannels);
这是我的C#代码
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public class App
{
[DllImportAttribute(@"C:\Users\Documents\libMPSSE.dll", EntryPoint = "SPI_GetNumChannels")]
public static extern int SPI_GetNumChannels(ref int numChannels);
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = numChannels.ToString();
}
}
}
我完全在正确的轨道上吗?我知道最后一行是不正确的,任何帮助将不胜感激!
将外部方法放在称为NativeMethods或UnsafeNativeMethods的单独的静态类中是一个好习惯。
然后,您已经非常接近。
int channels = 0;
NativeMethods.SPI_GetNumChannels(ref channels);
textBox1.Text = channels.ToString();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句