+ -
当前位置:首页 → 问答吧 → VB如何调用标准模块里面的内容啊,最好简单易懂,我笨- -

VB如何调用标准模块里面的内容啊,最好简单易懂,我笨- -

时间:2011-12-25

来源:互联网

窗体的时钟控件

Private Sub Timer1_Timer()
  Call Module1.BA
end sub


标准模块:Public Sub BA(HWD As Long, PID As Long, Process As Long, BA As Long)
  Dim HWD As Long
  Dim PID As Long
  Dim Process As Long
  Dim BA As Long
  HWD = FindWindow(vbNullString, "Plants vs. Zombies 1.2.0.1073 RELEASE")
  GetWindowThreadProcessId HWD, PID
  Process = OpenProcess(PROCESS_ALL_ACCESS, False, PID)
  ReadProcessMemory Process, ByVal &H7794F8, BA, 4, 0&
  ReadProcessMemory Process, ByVal BA + &H868, BA, 4, 0&
End Sub

作者: VB_AL   发布时间: 2011-12-25

Private Sub Timer1_Timer()
  BA(hwnd,pid,process,ba)
end sub

作者: nevsong   发布时间: 2011-12-25

Private Sub Timer1_Timer()
  Call BA(hwnd,pid,process,ba)
end sub

或者


Private Sub Timer1_Timer()
  BA hwnd,pid,process,ba
end sub

作者: nevsong   发布时间: 2011-12-25

错的啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。我痛苦死了- -呜呜~



编译错误
必选参数

作者: VB_AL   发布时间: 2011-12-25

你的问题在于你的hwnd之类的参数从何而来?

作者: Veron_04   发布时间: 2011-12-25

也就是你带入的参数没有定义

作者: Veron_04   发布时间: 2011-12-25

等下
我重写一次代码
然后全部发上来

作者: VB_AL   发布时间: 2011-12-25

这个是窗口:
Private Sub Form_Load()
  Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
  Dim BA2 As Long
  Call add(Hwnd, PID, Process, BA) ReadProcessMemory Lprocess, ByVal BA + &H5578, BA2, 4, 0&
  Label1.Caption = "阳光数值:" & BA
End Sub


这个是标准模块:
Public Const PROCESS_ALL_ACCESS = &H1F0FFF '全权打开进程
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Sub add(Hwnd As Long, PID As Long, Process As Long, BA As Long)
  Dim Hwnd As Long
  Dim PID As Long
  Dim Process As Long
  Dim BA As Long
  ReadProcessMemory Lprocess, ByVal &H7794F8, BA, 4, 0&
  ReadProcessMemory Lprocess, ByVal BA + &H868, BA, 4, 0&
End Sub


  提示:
  编译错误
 byref参数类型不符

作者: VB_AL   发布时间: 2011-12-25

我改下这个timer的下面的一条代码
Label1.Caption = "阳光数值:" & BA2

作者: VB_AL   发布时间: 2011-12-25

热门下载

更多