日期:2014-05-18  浏览次数:20775 次

小弟请教一下C#读取内存byte[]的问题
我写了一个DLL,获取一个网页的验证码然后保存在内存中.

然后通过c#调用获得这个验证码的内存地址和长度,

如何通过这个地址和长度获取到byte[]?

------解决方案--------------------
Marshal.ReadByte((DataAdd))返回的是一个byte型,而不是byte数组。

你看这样有没有用。
byte[] a=byte[DataLengh];
for(int i=0;i<DataLengh;i++)
{
byte[i]=Marshal.ReadByte(DataAdd,i);
}
探讨

GetImage(ref int DataAdd,ref int DataLengh)
DataAdd:验证码存放的内存首地址.

DataLengh:数据长度.

我用Marshal.ReadByte((DataAdd))能获取byte[]的第一个字节,但是后面的长度就无法取到了.