📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 7305
ClientLeft = 60
ClientTop = 450
ClientWidth = 10335
LinkTopic = "Form1"
ScaleHeight = 7305
ScaleWidth = 10335
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox txt_gwhp
Height = 495
Left = 1560
TabIndex = 13
Text = "Text1"
Top = 2880
Width = 2055
End
Begin VB.Timer TimerAttack
Enabled = 0 'False
Interval = 500
Left = 6480
Top = 840
End
Begin VB.CommandButton Command1
Caption = "开始"
Height = 615
Left = 5280
TabIndex = 12
Top = 5760
Width = 2175
End
Begin VB.Timer addhp
Enabled = 0 'False
Interval = 500
Left = 5640
Top = 720
End
Begin VB.TextBox txt_money_bag
Height = 495
Left = 1560
TabIndex = 6
Text = "Text1"
Top = 3480
Width = 4335
End
Begin VB.Timer Timer1
Interval = 1000
Left = 4800
Top = 720
End
Begin VB.TextBox txt_level
Height = 500
Left = 1560
TabIndex = 2
Text = "Text1"
Top = 2160
Width = 2000
End
Begin VB.TextBox txt_mp
Height = 500
Left = 1560
TabIndex = 1
Text = "Text1"
Top = 1440
Width = 2000
End
Begin VB.TextBox txt_hp
Height = 500
Left = 1560
TabIndex = 0
Text = "Text1"
Top = 840
Width = 2000
End
Begin VB.Label Label5
Caption = "金钱:"
Height = 375
Left = 720
TabIndex = 11
Top = 3600
Width = 495
End
Begin VB.Label Label3
Caption = "等级:"
Height = 375
Left = 720
TabIndex = 10
Top = 2280
Width = 375
End
Begin VB.Label Label2
Caption = "蓝:"
Height = 375
Left = 720
TabIndex = 9
Top = 1560
Width = 495
End
Begin VB.Label Label1
Caption = "血:"
Height = 375
Left = 720
TabIndex = 8
Top = 840
Width = 495
End
Begin VB.Label lb_fuzhu
Caption = "Label1"
Height = 735
Left = 4800
TabIndex = 7
Top = 4200
Width = 2775
End
Begin VB.Label lb_pro
Caption = "Label3"
Height = 495
Left = 1440
TabIndex = 5
Top = 6240
Width = 2055
End
Begin VB.Label lb_pid
Caption = "Label2"
Height = 495
Left = 1320
TabIndex = 4
Top = 5520
Width = 2055
End
Begin VB.Label lb_hwnd
Caption = "Label1"
Height = 495
Left = 1320
TabIndex = 3
Top = 4800
Width = 1815
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'程序初始化
Private Sub Form_Initialize()
Dim hWnd As Long
Dim pid As Long
Dim hProcess As Long
Dim begin As Boolean
begin = True
hWnd = FindWindow("QElementClient Window", "Element Client")
If hWnd = 0 Then
MsgBox "未启动游戏", vbOKOnly, "提示"
Exit Sub
End If
GetWindowThreadProcessId hWnd, pid '获取进程标识符
If pid = 0 Then
MsgBox "读不了ID", vbOKOnly, "提示"
Exit Sub
End If
'将进程标识符做为参数,返回目标进程PID的句柄,得到此句柄后
'即可对目标进行读写操,PROCESS_ALL_ACCESS表示完全控制,权限最大
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
If hProcess = 0 Then
MsgBox "不能打开进程", vbOKOnly, "提示"
Exit Sub
End If
lb_hwnd.Caption = lb_hwnd.Caption & hWnd
lb_pid.Caption = lb_pid.Caption & pid
lb_pro.Caption = lb_pro.Caption & hProcess
'定义1级指针地址
buffer_1 = &H95E81C
buffer_2 = ncnr(buffer_1) + &H24
buffer_3 = ncnr(buffer_2)
CloseHandle hProcess
End Sub
'该时钟用来实时显示人物属性
Private Sub Timer1_Timer()
Dim gwid As Long
'加上偏移量读取数值,红&H254,蓝&H258,经验&H25C,等级&H24C,
'蓝上限&H270,红上限&H26C,身上金钱&H2D4,辅助技能&H118
hp = ncnr(buffer_3 + &H25C)
mp = ncnr(buffer_3 + &H260)
hpmax = ncnr(buffer_3 + &H274)
mpmax = ncnr(buffer_3 + &H278)
level = ncnr(buffer_3 + &H250)
money_bag = ncnr(buffer_3 + 724)
fuzhu = ncnr(buffer_3 + 280)
gwid = ncnr(buffer_3 + &H7E4)
gwhp = ncnr(buffer_3 + &H134)
gwmaxhp = ncnr(buffer_3 + &H14C)
txt_hp.Text = hp & "/" & hpmax
txt_mp.Text = mp & "/" & mpmax
txt_level.Text = level
txt_gwhp.Text = gwid
Dim money_jin As Long
Dim money_yin As Long
Dim money_tong As Long
money_tong = money_bag Mod 100
money_jin = Int(money_bag / 10000)
money_yin = (money_bag - money_jin * 10000 - money_tong) / 100
txt_money_bag.Text = money_jin & "金" & money_yin & "银" & money_tong & "铜"
If fuzhu = 0 Then
lb_fuzhu.Caption = "没有启动辅助技能"
Else
lb_fuzhu.Caption = "已经启动辅助技能"
End If
End Sub
Private Sub addhp_Timer()
If hp / hpmax <= 0.7 And gwid = 0 Then
begin = False
MyKeyDown VK_3
MyKeyUp VK_3
Sleep (500)
If hp = hpmax Then
begin = True
End If
End If
End Sub
Private Sub Command1_Click()
If Command1.Caption = "开始" Then '按下标签为“开始”的按钮,激活TimerAdd并改变标签为“停止”
addhp.Enabled = True
TimerAttack.Enabled = True
Command1.Caption = "停止"
ElseIf Command1.Caption = "停止" Then '刚好和上面相反
addhp.Enabled = False
TimerAttack.Enabled = False
Command1.Caption = "开始"
End If
End Sub
Sub Call_TAB()
Dim asm As New clsasm
With asm
.Pushad
.Mov_EAX_DWORD_Ptr &H95E81C
.Mov_EAX_DWORD_Ptr_EAX_Add &H24
.Mov_ECX_EAX
.Push 0
.Mov_EBX &HE8954ADB
.Call_EBX
.Popad
.ret
End With
asm.Run_ASM pid
End Sub
Private Sub TimerAttack_Timer() '攻击计时器
If begin = True Then
If gwid <> 0 Then
MyKeyDown VK_1
MyKeyUp VK_1
Sleep (500)
Else
MyKeyDown VK_TAB
MyKeyUp VK_TAB
Sleep (300)
MyKeyDown VK_2
MyKeyUp VK_2
Sleep (1000)
MyKeyDown VK_1
MyKeyUp VK_1
DoEvents
Sleep (500)
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -