?? form1.frm
字號:
Top = 960
Width = 735
End
Begin VB.ComboBox Com1
DataField = "技能2"
DataSource = "Data3"
Height = 300
Index = 6
ItemData = "Form1.frx":0020
Left = 720
List = "Form1.frx":0022
TabIndex = 53
Text = "F1"
Top = 600
Width = 735
End
Begin VB.ComboBox Com1
DataField = "技能1"
DataSource = "Data3"
Height = 300
Index = 5
ItemData = "Form1.frx":0024
Left = 720
List = "Form1.frx":0026
TabIndex = 52
Text = "F1"
Top = 240
Width = 735
End
Begin VB.Label Label14
Caption = "技能5"
Height = 255
Left = 120
TabIndex = 16
Top = 1680
Width = 615
End
Begin VB.Label Label13
Caption = "技能4"
Height = 255
Left = 120
TabIndex = 15
Top = 1320
Width = 615
End
Begin VB.Label Label12
Caption = "技能3"
Height = 255
Left = 120
TabIndex = 14
Top = 960
Width = 615
End
Begin VB.Label Label11
Caption = "技能2"
Height = 255
Left = 120
TabIndex = 13
Top = 600
Width = 615
End
Begin VB.Label Label10
Caption = "技能1"
Height = 255
Left = 120
TabIndex = 12
Top = 240
Width = 615
End
End
Begin VB.Frame Frame1
Caption = "人物信息"
Height = 1815
Left = 120
TabIndex = 0
Top = 120
Width = 2895
Begin VB.Label Lb6
Caption = "0/0"
Height = 255
Left = 960
TabIndex = 35
Top = 1440
Width = 1815
End
Begin VB.Label Label25
Caption = "經(jīng)驗(yàn)值:"
Height = 255
Left = 120
TabIndex = 34
Top = 1440
Width = 735
End
Begin VB.Label Lb5
Caption = "0"
Height = 255
Left = 960
TabIndex = 10
Top = 1200
Width = 1695
End
Begin VB.Label Lb4
Caption = "0/0"
Height = 255
Left = 960
TabIndex = 9
Top = 960
Width = 1695
End
Begin VB.Label Lb3
Caption = "0/0"
Height = 255
Left = 960
TabIndex = 8
Top = 720
Width = 1695
End
Begin VB.Label Lb2
Caption = "等級"
Height = 255
Left = 960
TabIndex = 7
Top = 480
Width = 1695
End
Begin VB.Label Lb1
Caption = "人名"
Height = 255
Left = 960
TabIndex = 6
Top = 240
Width = 1695
End
Begin VB.Label Label5
Caption = "元?dú)庵?"
Height = 255
Left = 120
TabIndex = 5
Top = 1200
Width = 855
End
Begin VB.Label Label4
Caption = "真氣值:"
Height = 255
Left = 120
TabIndex = 4
Top = 960
Width = 855
End
Begin VB.Label Label3
Caption = "生命值:"
Height = 255
Left = 120
TabIndex = 3
Top = 720
Width = 855
End
Begin VB.Label Label2
Caption = "人物等級:"
Height = 255
Left = 120
TabIndex = 2
Top = 480
Width = 855
End
Begin VB.Label Label1
Caption = "角色名稱:"
Height = 255
Left = 120
TabIndex = 1
Top = 240
Width = 855
End
End
Begin VB.Label Label27
Caption = "打怪距離(1-9)"
Height = 255
Left = 5160
TabIndex = 42
Top = 3240
Width = 1335
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim hwd As Long
Dim pid As Long
Dim hProcess As Long '存放進(jìn)程句柄
Dim base As Long '存放人物基地址
Dim hp As Long '存儲生命值
Dim maxhp As Long '最大紅
Dim mp As Long '藍(lán)
Dim maxmp As Long '最大藍(lán)
Dim ex As Long '經(jīng)驗(yàn)
Dim yq As Long '元?dú)?Dim level As Long '等級
Private Sub Cm1_Click()
Timer2.Enabled = True
End Sub
Private Sub Cm2_Click()
Timer2.Enabled = False
End Sub
Private Sub Cm3_Click()
On Error Resume Next
Data1.Recordset.Edit
Data1.Recordset.Update
End Sub
Private Sub Cm4_Click()
End
End Sub
Private Sub Cm5_Click()
Form2.Show
End Sub
Private Sub Form_Load()
hwd = FindWindow("ElementClient Window", vbNullString)
If hwd = 0 Then
MsgBox "未啟動游戲", vbOKOnly, "提示"
'Unload Form1
End If
GetWindowThreadProcessId hwd, pid '獲取進(jìn)程標(biāo)識符
'將進(jìn)程標(biāo)識符做為參數(shù),返回目標(biāo)進(jìn)程PID的句柄,得到此句柄后
'即可對目標(biāo)進(jìn)行讀寫操,PROCESS_ALL_ACCESS表示完全控制,權(quán)限最大
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
If hProcess = 0 Then
MsgBox "不能打開進(jìn)程", vbOKOnly, "提示"
'Unload Form1
End If
CloseHandle hProcess
Timer1.Interval = 500
Timer2.Interval = 500
Timer2.Enabled = False
Data1.Visible = False
Data2.Visible = False
Data3.Visible = False
For i = 0 To 9
With Com1(i)
.AddItem "F1"
.AddItem "F2"
.AddItem "F3"
.AddItem "F4"
.AddItem "F5"
.AddItem "F6"
.AddItem "F7"
.AddItem "F8"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
.AddItem "6"
.AddItem "0"
End With
Next i
End Sub
Private Sub Timer1_Timer()
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If hProcess Then
ReadProcessMemory hProcess, ByVal &H3294880, base, 4, 0&
ReadProcessMemory hProcess, ByVal base + &H450, hp, 4, 0& '得到生命值
ReadProcessMemory hProcess, ByVal base + &H478, hp, 4, 0& '得到最大生命值
ReadProcessMemory hProcess, ByVal base + &H450, maxhp, 4, 0& '得到生命值
ReadProcessMemory hProcess, ByVal base + &H448, level, 4, 0& '得到等級
ReadProcessMemory hProcess, ByVal base + &H464, mp, 4, 0& '得到藍(lán)
ReadProcessMemory hProcess, ByVal base + &H47C, maxmp, 4, 0& '得到最大藍(lán)
ReadProcessMemory hProcess, ByVal base + &H458, ex, 4, 0& '得到經(jīng)驗(yàn)
ReadProcessMemory hProcess, ByVal base + &H464, yq, 4, 0& '得到元?dú)?End If
Lb2.Caption = Str(level)
Lb3.Caption = Str(hp) & "/" & Str(maxhp)
Lb4.Caption = Str(mp) & "/" & Str(maxmp)
Lb5.Caption = Str(yq)
Lb6.Caption = Str(ex) & "/" & "0"
End Sub
Private Sub gethp1()
If Val(Text1.Text) > hp Then '比較當(dāng)前血量是否比預(yù)定值低,是則按下F1健
SendMessage hwd, &H100, Key(Com1(0).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(0).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End If
End Sub
Private Sub gethp2()
If Val(Text2.Text) > hp Then '比較當(dāng)前血量是否比預(yù)定值低,是則按下F1健
SendMessage hwd, &H100, Key(Com1(1).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(1).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End If
End Sub
Private Sub getmp1()
If Val(Text3.Text) > mp Then '比較當(dāng)前血量是否比預(yù)定值低,是則按下F1健
SendMessage hwd, &H100, Key(Com1(2).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(2).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End If
End Sub
Private Sub getmp2()
If Val(Text4.Text) > mp Then '比較當(dāng)前血量是否比預(yù)定值低,是則按下F1健
SendMessage hwd, &H100, Key(Com1(3).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(3).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End If
End Sub
Private Sub getyq()
If Val(Text5.Text) < yq Then '比較當(dāng)前血量是否比預(yù)定值低,是則按下F1健
SendMessage hwd, &H100, Key(Com1(4).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(4).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End If
End Sub
Private Sub getj1()
SendMessage hwd, &H100, Key(Com1(5).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(5).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End Sub
Private Sub getj2()
SendMessage hwd, &H100, Key(Com1(6).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(6).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End Sub
Private Sub getj3()
SendMessage hwd, &H100, Key(Com1(7).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(7).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End Sub
Private Sub getj4()
SendMessage hwd, &H100, Key(Com1(8).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(8).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End Sub
Private Sub getj5()
SendMessage hwd, &H100, Key(Com1(9).Text), 0& '按住F1鍵,&H100代表按下,&H70代表F1
SendMessage hwd, &H101, Key(Com1(9).Text), 0& '松開F1鍵,&H101代表松開,&H70代表F1
End Sub
Private Function Key(Anjian As String) As Long '用于轉(zhuǎn)換按鍵的函數(shù)
Select Case Anjian
Case "F1"
Key = &H70 'F1
Case "F2"
Key = &H71 'F2
Case "F3"
Key = &H72 'F3
Case "F4"
Key = &H73 'F4
Case "F5"
Key = &H74
Case "F6"
Key = &H75
Case "F7"
Key = &H76
Case "F8"
Key = &H77
Case "1"
Key = &H31 '1
Case "2"
Key = &H32 '2
Case "3"
Key = &H33 '3
Case "4"
Key = &H34
Case "5"
Key = &H35
Case "6"
Key = &H36
End Select
End Function
Private Sub Timer2_Timer()
Static i As Integer
gethp1
gethp2
getmp1
getmp2
getyq
i = i + 1
Select Case i
Case 1: getj1
Case 2: getj2
Case 3: getj3
Case 4: getj4
Case 5: getj5
End Select
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -