<StructLayout(LayoutKind.Sequential)> _
Public Structure COPYDATASTRUCT
Public dwData As Integer
Public cbData As Integer
Public lpData As IntPtr
End Structure
其中dwData我们不是很关心当然其中也可能存在些有用信息(这里不想多说网上有些文章纯属误导)
而cbData是个长度:lpData长度
lpData这里被声明为指针看起来更直观了——它就是地址
有了地址和长度如何读取代码就自己写吧
提示下:参考我重载ReadProcessMemory可能对你有不少帮助
当然上面提到只是“特殊情况”中个典型还有很多时候进程是用自定义消息(>&H40A)来传递数据例如我所开发这个工程打印mCallBack参数后得到是如下结果(十 6进制只提取了有用信息):
473 14 42257D0
其中lParam就是个指针我读了其中部分:
Function readmsg(ByVal address As Integer) As Byte
Dim buf(19) As Byte
ReadProcessMemory(hProc, address, buf, 20, 0)
Return buf
End Function
现在就明白为什么上面代码是那样了:)
然后进行了个处理得到了我想要信息:
'消息解码后得到移动棋子信息:玩家起X起Y止X止Y棋子编号走棋总步数
Event Move(ByVal player As Byte, ByVal sx As Byte, ByVal sy As Byte, ByVal dx As Byte, ByVal dy As Byte, ByVal name As Byte, ByVal [step] As Byte)
Private Function mCallback(ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
If wParam = &H14 Then
Dim s As Byte = msg.readmsg(lParam)
RaiseEvent Move(s(1), s(10), s(11), s(12), s(13), s(14), s(16))
End If
End Function
当然在我工程里面重载ReadProcessMemory并没有被使用
补充下咯:
在VB.NET中处理自己窗体消息只需要重载窗体消息处理过程就可以了无需子类化:)
有补充下:
对于wm_datacopy来说还有些数据获取问题没有说清楚实际上都可以用些思路方法来解决
真要回家咯饿贴个重载可能更介绍说明问题:
Protected Overrides Sub DefWndProc(ByRef m As .Windows.Forms.Message)
Select Case m.Msg
Case WM_COPYDATA
Dim mMessage As New COPYDATASTRUCT
mMessage = DirectCast(m.GetLParam(mMessage.[GetType]), COPYDATASTRUCT)
Dim bs(mMessage.cbData - 1) As Byte
Marshal.Copy(mMessage.lpData, bs, 0, mMessage.cbData)
debig.pr .BitConverter.(bs, 0, mMessage.cbData)
End Select
End Sub
上页1234="current">5
最近更新最后刷新时间:2009-08-16 00:50:47
- 游戏大厅 从基础开始(4)-通过L2X用配置文件反射组装(VB _disibledevent=>VB.net编程教程:编写文字加解密
- 【VB.NET】也谈跨进程消息钩子
- VBA在Excel中应用( 3)
- eXpressApp Framework 生成单据编号解决方案(vb.net)
- VB.NET将任意图像文件设置为鼠标形状
- 用Visual Basic6类模块打造Control控件
- 基于Visual Basic 6网络设计
- VB.NET中动态代码生成窍门技巧
- VB第 3方Control控件实现XP资源管理器垂直栏
最新资讯
- ·Java EE 6新特性尝鲜:EJB 3.1重要变化总览
- ·和我共同了解Java是什么
- ·JSR 299(Java EE 平台上下文和依赖注入)最终建议草案
- ·Java编程语言 8大优点
- ·探秘Java 7模块化 类路径永远消失
- ·JavaOne 2009第 2天:揭示Java领域几大趋势
- ·JavaOne 2009第天:Java软件Software商店启动 甲骨文CEO登场
- ·RIA的争 JavaFX是否能后来居上?
- ·JavaFX还有戏吗?
- ·Web开发谁更高效 Java对决Ruby _disibledevent=>Zend公司为Java提供PHP解决方案
- ·REARIA规范标准化发展趋势()
- ·Java影响力远超想像——为什么要采用Java平台
- ·5月编程语言排行榜:D语言急速下滑
- ·Java开源缓存Cache平台Terracotta 3.0版本发布
在线手册
- · VBScript 语言快速参考
- · VBScript语言参考
- · VB API 参考手册
- · Windows API 参考大全
专题推荐
- · Visual Basic 9,VB9 教程
- · Visual Basic 入门教程
- · VB.net 编程
- · Visual Basic Control控件编程
- · Visual Basic 报表
- · VB 图像处理
- · Visual Basic COM 编程
- · VB变量
- · VB事件
- · VB界面
- · VB例子
- · VB游戏编程
- · VB消息
- · VB窗口
- · VB菜单
- · VB按钮
- · 更多VB专题……
有关我们 | 联系我们 | 版权申明 | 广告服务 | 网站WebSite律师 | 报告 | 免责条款
Copyright © 2002 - 2009 ddvip All Rights Reserved
版权所有
最新评论