社区
C#
帖子详情
小弟请教一下C#读取内存byte[]的问题
lovestarbao
2012-05-28 06:22:38
我写了一个DLL,获取一个网页的验证码然后保存在内存中.
然后通过c#调用获得这个验证码的内存地址和长度,
如何通过这个地址和长度获取到byte[]?
...全文
502
14
打赏
收藏
小弟请教一下C#读取内存byte[]的问题
我写了一个DLL,获取一个网页的验证码然后保存在内存中. 然后通过c#调用获得这个验证码的内存地址和长度, 如何通过这个地址和长度获取到byte[]?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinghe20
2012-05-28
打赏
举报
回复
不用谢。[Quote=引用 13 楼 的回复:]
引用 12 楼 的回复:
Marshal.ReadByte((DataAdd))返回的是一个byte型,而不是byte数组。
你看这样有没有用。
byte[] a=byte[DataLengh];
for(int i=0;i<DataLengh;i++)
{
byte[i]=Marshal.ReadByte(DataAdd,i);
}
引用 10 楼 的回复:
……
[/Quote]
lovestarbao
2012-05-28
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
Marshal.ReadByte((DataAdd))返回的是一个byte型,而不是byte数组。
你看这样有没有用。
byte[] a=byte[DataLengh];
for(int i=0;i<DataLengh;i++)
{
byte[i]=Marshal.ReadByte(DataAdd,i);
}
引用 10 楼 的回复:
GetImage(ref int ……
[/Quote]
这样确实可以取到byte[]. 谢谢您的帮助
jinghe20
2012-05-28
打赏
举报
回复
Marshal.ReadByte((DataAdd))返回的是一个byte型,而不是byte数组。
你看这样有没有用。
byte[] a=byte[DataLengh];
for(int i=0;i<DataLengh;i++)
{
byte[i]=Marshal.ReadByte(DataAdd,i);
}
[Quote=引用 10 楼 的回复:]
GetImage(ref int DataAdd,ref int DataLengh)
DataAdd:验证码存放的内存首地址.
DataLengh:数据长度.
我用Marshal.ReadByte((DataAdd))能获取byte[]的第一个字节,但是后面的长度就无法取到了.
[/Quote]
lovestarbao
2012-05-28
打赏
举报
回复
Marshal.ReadByte(DataAdd) 只能取出一个字节
我想要取出指定一部分内存长度中的内存数据.
lovestarbao
2012-05-28
打赏
举报
回复
GetImage(ref int DataAdd,ref int DataLengh)
DataAdd:验证码存放的内存首地址.
DataLengh:数据长度.
我用Marshal.ReadByte((DataAdd))能获取byte[]的第一个字节,但是后面的长度就无法取到了.
jinghe20
2012-05-28
打赏
举报
回复
C#没有指针的概念,只有引用。
引用类型也不需要加&
可以看一下那个DLL的方法定义么?
[Quote=引用 8 楼 的回复:]
引用 6 楼 的回复:
通过c#调用获得这个验证码的内存地址和长度 ???
如果只为了取验证码的BYTE很简单,因为验证码是生成一串字符,System.Text.Encoding.Default.GetBytes()可以得到结果。
我现在还是看不明白验证码的内存地址是什么东东。
也就是说 通过内存指针和长度 取出这一片内存中的数据并转化为byte[]
[/Quote]
lovestarbao
2012-05-28
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
通过c#调用获得这个验证码的内存地址和长度 ???
如果只为了取验证码的BYTE很简单,因为验证码是生成一串字符,System.Text.Encoding.Default.GetBytes()可以得到结果。
我现在还是看不明白验证码的内存地址是什么东东。
[/Quote]
也就是说 通过内存指针和长度 取出这一片内存中的数据并转化为byte[]
lovestarbao
2012-05-28
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
通过c#调用获得这个验证码的内存地址和长度 ???
如果只为了取验证码的BYTE很简单,因为验证码是生成一串字符,System.Text.Encoding.Default.GetBytes()可以得到结果。
我现在还是看不明白验证码的内存地址是什么东东。
[/Quote]
可能是我说的不够详细,
因为我是通用调用dll的一个方法获取到 存放 这个验证码的 内存地址 和 内存长度
我的提问的问题是,如何通过取出这一片内存中存放的数据并转化为byte[]?
jinghe20
2012-05-28
打赏
举报
回复
通过c#调用获得这个验证码的内存地址和长度 ???
如果只为了取验证码的BYTE很简单,因为验证码是生成一串字符,System.Text.Encoding.Default.GetBytes()可以得到结果。
我现在还是看不明白验证码的内存地址是什么东东。
lovestarbao
2012-05-28
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用楼主 的回复:
我写了一个DLL,获取一个网页的验证码然后保存在内存中.
C++的DLL?
[/Quote]
只是一个举例, 因为dll无法返回byte[]类型的值 所以我采用的是返回内存地址和内存长度,但是怎么用C#通过内存地址取回这个byte[]的值,我却是不知道,望帮助!
lovestarbao
2012-05-28
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用楼主 的回复:
我写了一个DLL,获取一个网页的验证码然后保存在内存中.
C++的DLL?
[/Quote]
只是一个举例, 因为dll无法返回byte[]类型的值 所以我采用的是返回内存地址和内存长度,但是怎么用C#通过内存地址取回这个byte[]的值,我却是不知道,望帮助!
宝_爸
2012-05-28
打赏
举报
回复
[Quote=引用楼主 的回复:]
我写了一个DLL,获取一个网页的验证码然后保存在内存中.
[/Quote]
C++的DLL?
YapingXin
2012-05-28
打赏
举报
回复
得用Marsh
lovestarbao
2012-05-28
打赏
举报
回复
http://topic.csdn.net/u/20120430/00/3E858C2C-04AB-4593-9635-BD6ABE64ED65.html
小弟的另外一个帖子,对于新手,一些问题真的能难很多天.
如何向postgreSQL中添加
byte
a类型的大对象数据
请教
大家,如何向postgreSQL中添加
byte
a类型的大对象数据? 和mysql的一样不,需要bind吗,那对应mysql_stmt_init和mysql_stmt_prepare、mysql_stmt_bind_param、mysql_stmt_execute对API是哪些楼主 – guojinshihuaidan: 1个回复 回复1楼 – guojinshih
.Net HTML 硬件
在VC.net中如何动态创建ActiveX控件
请教
斑竹及各位专家:关于DLL中类的动态链接,重要!在NT Service中调用WMI启动一个nodepad,为什么没有界面?关于CFileDialog的多选文件
问题
关于socket的
问题
?100+100=200如何将VC7中的char * 数组转换为
c#
中的
byte
[],大家赶快支援!!win2000的用户登录api,LogonUser(...)解析
用友二次开发
问题
汇总(转)
一、供应链采购订单
问题
在采购订单参照请购单时,若选择了10行请购单的记录,采购订单的表体也就显示了10条记录,如何才能实现还可以再弹出请购单的参照,追加一条记录,而不需要取消单据后重现选择请购单。 答:截止最新版本,你这个
问题
只能是退回去,重新选择11条过来,不能如你希望那样10条不动再追加第11条.这是个易用性改进的需求,我转给SCM开发部门. 二、3.1的XML导入文档 只有项目基本...
WEB开发文档2 总结
转自:http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在
内存
中的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID中使用JAVASCRIPT脚本控制DataGrid中连接到下一页显示数据下载中文名文件时保存文件名乱码
问题
关于用ASP.net绘图的
问题
,请大虾指教那
转
转自http://blog.csdn.net/jiangsheng/archive/2006/03/05/615714.aspx为了便于搜索,这里尽可能保留了论坛上讨论的原文,但是这并不表示本人赞同帖子中的表述方式和观点在c++中如何创建一个文件? (VC/MFC 基础类)已知IStream *pIStream取道内容,如何将pIStream内容写到一个文件中去?http:
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章