跪求调用动态dll返回乱码问题~~~~~~~~~ 急~~ 在线等~~~~
我们这在做个项目中用到了.net 技术 而本人对.net 了解又甚少 需要调用找人买的一套程序,这套小程序只能用.net 调用, 好不容易调用出来了,可是 调用之后 我传入一个数字图片他可以给我返回图片上的数字,但是如果我传入的是字母的图片返回的就是一堆问号 还请各位大虾帮忙看看是什么问题~~~
代码 如下
他给出两种调用方式 可是两种调用方式一样都会出现上面的问题~ 请问为什么~~~~
static void Main(string[] args)
{
Console.WriteLine(Program.poCode());
Console.Read();
}
[DllImport("ycode.dll")]
public static extern int loadcode(int code, int Length, String address, String pass);
[DllImport("ycode.dll", EntryPoint = "Recognition")]
public static extern string Recognition(int ItemNo, int picin, int Length, string Address1, string Address2, out int lppicout, out int lpLength, out int cLength);
[DllImport("ycode.dll", EntryPoint = "Recognitiond")]
public static extern int Recognitiond(int ItemNo, int picin, int Length, string Address1, string Address2);
public static string poCode()
{
//int no1 = 0, no2 = 0;
int n1, n2, n3 = 0;
string strd = System.Environment.CurrentDirectory + @"\CODE.bmp";
loadcode(0, 0, System.Environment.CurrentDirectory + @"\5649.fc", "mjne3net4cn");
//string strd = @"C:\src\FrmTest\FrmTest\bin\Debug\ibc.bmp";
//string tmp = "";
//for (int i = 0; i < 20; i++)
//{
// int ptr = Recognitiond(1, 0, 0, null, strd);
// tmp = Marshal.PtrToStringAnsi((IntPtr)ptr);
//}
string temp = "";
string returnzhi = Recognition(1, 0, 0, temp, strd, out n1, out n2, out n3);
//Console.WriteLine("值为:" + returnzhi);
return returnzhi;
}