- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
模块代码:
Module Module1
--------------------------------------------------------------------------------------------------------------------------------------
Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer
Public Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer
Public Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Integer) As Integer
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Public Const PROCESS_ALL_ACCESS As Integer = &H1F0FFF
End Module
-------------------------------------------------------------------------------------------------------------------------------------
窗体代码:
Public Class Form1
Dim hwd, pid, hProcess,base1, base2, hp, hpmax As Integer
Private Sub Form1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Leave
CloseHandle(hProcess)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
hwd = FindWindow("ZElementClient Window", "Element Client")
GetWindowThreadProcessId(hwd, pid)
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
If hProcess Then
Call ReadProcessMemory(hProcess, &H8F77D4, base1, 4, 0)
Call ReadProcessMemory(hProcess, base1 + &H28S, base2, 4, 0)
Call ReadProcessMemory(hProcess, base2 + &H254S, hp, 4, 0)
Call ReadProcessMemory(hProcess, base2 + &H26CS, hpmax, 4, 0)
Label6.Text = hp & "-" & hpmax
CloseHandle(hProcess)
End If
End Sub
End Class |
|