电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 操作系统
vb从零开始编外挂(六)_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

--------------------------------------------------------------------------------------------------------------------------------------------------------
应用实战
--------------------------------------------------------------------------------------------------------------------------------------------------------
需要VBAPI函数:
FindWindow
GetWindowThreadProcessId
OpenProcess
ReadProcessMemory
CloseHandle
--------------------------------------------------------------------------------------------------------------------------------------------------------
相关API声明:
FindWindow

PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLong

GetWindowThreadProcessId

PrivateDeclareFunctionGetWindowThreadProcessIdLib"user32"(ByValhwndAsLong,lpdwProcessIdAsLong)
AsLong

OpenProcess

PrivateDeclareFunctionOpenProcessLib"kernel32"(ByValdwDesiredAccessAsLong,ByValbInheritHandleAsLong,ByValdwProcessIdAsLong)AsLong

ReadProcessMemory

PrivateDeclareFunctionReadProcessMemoryLib"kernel32"(ByValhProcessAsLong,ByVallpBaseAddressAsAny,ByVallpBufferAsAny,ByValnSizeAsLong,lpNumberOfBytesWrittenAsLong)AsLong

CloseHandle

PrivateDeclareFunctionCloseHandleLib"kernel32"(ByValhObjectAsLong)AsLong

GetCurrentProcess

PrivateDeclareFunctionGetCurrentProcessLib"kernel32"()AsLong
--------------------------------------------------------------------------------------------------------------------------------------------------------
需要的控件:Label、Timer(interval不为空)、Text
--------------------------------------------------------------------------------------------------------------------------------------------------------
定义函数:
DimSetHpAsInteger定义设定的体力值
DimSetMpAsInteger定义设定的魔法值
DimNowHpAsLong定义目前的体力值
DimNowMpAsLong定义目前的魔法值
DimMaxHpAsLong定义角色的最高体力值
DimMaxMpAsLong定义角色的最高魔法值
DimDiZhiAsLong定义内存地址函数
DimhwndAsLong储存FindWindow函数返回的句柄
--------------------------------------------------------------------------------------------------------------------------------------------------------
代码:
PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLong
PrivateDeclareFunctionGetWindowThreadProcessIdLib"user32"(ByValhwndAsLong,lpdwProcessIdAsLong)
AsLong
PrivateDeclareFunctionOpenProcessLib"kernel32"(ByValdwDesiredAccessAsLong,ByValbInheritHandleAsLong,ByValdwProcessIdAsLong)AsLong
PrivateDeclareFunctionReadProcessMemoryLib"kernel32"(ByValhProcessAsLong,ByVallpBaseAddressAsAny,ByVallpBufferAsAny,ByValnSizeAsLong,lpNumberOfBytesWrittenAsLong)AsLong
PrivateDeclareFunctionCloseHandleLib"kernel32"(ByValhObjectAsLong)AsLong
PrivateDeclareFunctionGetCurrentProcessLib"kernel32"()AsLong
DimSetHpAsInteger定义设定的体力值
DimSetMpAsInteger定义设定的魔法值
DimNowHpAsLong定义目前的体力值
DimNowMpAsLong定义目前的魔法值
DimMaxHpAsLong定义角色的最高体力值
DimMaxMpAsLong定义角色的最高魔法值
DimDiZhiAsLong定义内存地址函数

PrivateFunctionncnr(lpADDressAsLong)AsInteger
声明一些需要的变量
DimhwndAsLong储存FindWindow函数返回的句柄
DimpidAsLong储存进程标识符(ProcessId)
DimpHandleAsLong储存进程句柄
hwnd=FindWindow(vbNullString,"封神榜·网络版")
取得进程标识符
GetWindowThreadProcessIdhwnd,pid
使用进程标识符取得进程句柄
pHandle=OpenProcess(PROCESS_ALL_ACCESS,False,pid)
在内存地址中读取数据
ReadProcessMemorypHandle,lpADDress,ByValVarPtr(ncnr),4,0&
关闭进程句柄
CloseHandlehProcess
EndFunction
ConstSTANDARD_RIGHTS_REQUIRED=&HF0000
ConstSYNCHRONIZE=&H100000
ConstSPECIFIC_RIGHTS_ALL=&HFFFF
ConstSTANDARD_RIGHTS_ALL=&H1F0000
ConstPROCESS_ALL_ACCESS=STANDARD_RIGHTS_REQUIREDOrSYNCHRONIZEOr&HFFF
ConstPROCESS_VM_OPERATION=&H8&
ConstPROCESS_VM_READ=&H10&
ConstPROCESS_VM_WRITE=&H20&

PrivateSubForm_Load()
体力:07F68F3这里替换你所搜索到的地址魔法:07F6860同前
DiZhi=&H07F68F3
Timer1.Enabled=True
Timer2.Enabled=False
Timer3.Enabled=False
EndSub

PrivateSubTimer1_Timer()
DimhwndAsLong
hwnd=FindWindow(vbNullString,"封神榜·网络版")

Ifhwnd=0Then
Label12.Caption="游戏未加载"
Timer1.Enabled=True
Timer2.Enabled=False
Timer3.Enabled=False
ExitSub
EndIf

Label12.Caption="游戏已加载"
SetHp=Text1.Text获取设定的体力值
SetMp=Text2.Text获取设定的魔法值
NowHp=ncnr(DiZhi)获取当前的体力值
NowMp=ncnr(DiZhi 12)获取当前的魔法值
MaxHp=ncnr(DiZhi 4)获取角色的最高体力值
MaxMp=ncnr(DiZhi 16)获取角色的最高魔法值
Label3.Caption=Str(NowHp) "/" Str(MaxHp)显示角色体力值状态
Label4.Caption=Str(NowMp) "/" Str(MaxMp)显示角色魔法值状态

IfCheck1.ValueThen
Timer2.Enabled=True
Else
Timer2.Enabled=False
EndIf
IfCheck2.ValueThen
Timer3.Enabled=True
Else
Timer3.Enabled=False
EndIf
EndSub

PrivateSubTimer2_Timer()
体力值小于设定值按下数字键1
If(NowHp)<SetHpThen
SendKeys"1"
EndIf
EndSub

PrivateSubTimer3_Timer()
魔法值小于设定值按下数字键2
If(NowMp)<SetMpThen
SendKeys"2"
EndIf
EndSub
--------------------------------------------------------------------------------------------------------------------------------------------------------

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·tag属性的妙用_visualbasic教程
·visualbasic的未来_visualbasic教程
·对点坐标、距离、面积和某个对象质量特性进行查询_autocad教程
·图形统计信息_autocad教程
·设置ucs_autocad教程
·在桌面上建立一个internet快捷键_visualbasic教程
·vb从零开始编外挂(六)_visualbasic教程
·visualbasic产生渐层的form背景_visualbasic教程
·你也不一定知道的photoshop技巧167条_photoshop教程
·在vb中更改sqlserver数据库结构_visualbasic教程

最新文章
·MySpace罗川:Web2.0肯定会蓬勃发展
·Facebook和MySpace图片工具存漏洞
·Web2.0用户安全意识亟须提高
·Web2.0:机会还是泡沫?
·博客广告:企业营销新模式
·67个增加网站反向链接的方法
·中国2007年IDC市场预计将达36亿
·CNNIC调查显示 90%的用户认同中文域名
·中国网通江西分公司上饶IDC数据中心
·谨防类似.LA“外国域名”注册陷阱


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号