高手请进:求教关于C#调用C++写的DLL问题
这个问题,我问了4个群,看了网页前几页的所有教程,都没有实现,请高手帮忙有一个DLL,说明如下:我该如何在C#中调用?
5、int WINAPI GetSerial(HANDLE hDevice,UCHAR * serial);
//读取序列号
//返回值:0---表示写入命令失败
// 1---表示读取序列号失败
// 2---表示读取序列号成功
/*
unsigned char serial[16];
int result=GetSerial(hDevice,serial);
switch(result)
{
case 0:...
case 1:...
case 2:...
}
*/
我的方法:
//DLLWrapper.cs代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace 光谱仪控制
{
class DLLWrapper
{
[DllImport("CCD1.DLL")]
public static extern int GetSerial(IntPtr hDevice, string serial);
}
}
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Threading;
namespace 光谱仪控制
{
string serial=null;
public unsafe partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
int res = 4;
res = DLLWrapper.GetSerial(hDevice,serial);
switch (res)
{
case 0:
MessageBox.Show("获取命令失败");
break;
case 1:
MessageBox.Show("读取失败");
break;
case 2:
MessageBox.Show("读取成功");
break;
}
}
}
}