|
VB 武林加血 代码为什么不能执行? 检测通过 这些代码是在网上看的.但是不知道为什么不能执行加血的那块. 血的量已经显示出来了。
代码如下:: Private Sub Command1_Click() If Command1.Caption = "开始" Then GoTo TimerAdd_Timer '按下标签为“开始”的按钮,激活TimerAdd并改变标签为“停止” Timeradd.Enabled = True Command1.Caption = "停止" ElseIf Command1.Caption = "停止" Then '刚好和上面相反 Timeradd.Enabled = False Command1.Caption = "开始" End If End Sub
Private Sub Form_Load() hwd = FindWindow("QElementClient Window", "Element Client") If hwd = 0 Then MsgBox "未启动游戏", vbOKOnly, "提示" Unload Form1 End If GetWindowThreadProcessId hwd, pid '获取进程标识符 '将进程标识符做为参数,返回目标进程PID的句柄,得到此句柄后 '即可对目标进行读写操,PROCESS_ALL_ACCESS表示完全控制,权限最大 hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid) If hProcess = 0 Then MsgBox "不能打开进程", vbOKOnly, "提示" Unload Form1 End If CloseHandle hProcess End Sub
Private Sub Timerlife_Timer() '显示人物信息时钟 hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid) If hProcess Then ReadProcessMemory hProcess, ByVal &H12F82C, base, 4, 0& ReadProcessMemory hProcess, ByVal base + &H24, base, 4, 0& '得到为人物基地址,方便以后使用 ReadProcessMemory hProcess, ByVal base + &H25C, hp, 4, 0& '得到生命值 CloseHandle hProcess End If Label1.Caption = "生命值:" & hp '显示生命值 End Sub
Private Sub TimerAdd_Timer() '加血判断时钟 If Val(Text1.Text) > hp Then '比较当前血量是否比预定值低,是则按下F1健 SendMessage hwd, &H100, &H70, 0& '按住F1键,&H100代表按下,&H70代表F1 SendMessage hwd, &H101, &H70, 0& '松开F1键,&H101代表松开,&H70代表F1 Sleep Val(Text2.Text) '延迟text2中的数值,用val()取数值 End If End Sub | |