看流星社区

 找回密码
 注册账号
查看: 4899|回复: 3

[VB] vb的研究員請進...小弟有語言上的問題想指教一下!

[复制链接]

该用户从未签到

发表于 2011-4-7 07:49:44 | 显示全部楼层 |阅读模式
Dim SetHp As Integer        ' 定??定的体力值
Dim SetMp As Integer        ' 定??定的魔法值
Dim NowHp As Long          ' 定?目前的体力值
Dim NowMp As Long          ' 定?目前的魔法值
Dim MaxHp As Long          ' 定?角色的最高体力值
Dim MaxMp As Long          ' 定?角色的最高魔法值
Dim DiZhi As Long              '定??存地址函?

     
   
Private Function ncnr(lpADDress As Long) As Integer
    Dim hwnd As Long        '  
    Dim pid As Long        '  
    Dim pHandle As Long    '
    hwnd = FindWindow(vbNullString, "DIEmWin")   


    GetWindowThreadProcessId hwnd, pid

    pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)

    ReadProcessMemory pHandle, lpADDress, ByVal VarPtr(ncnr), 4, 0&

    CloseHandle hProcess
End Function

Const STANDARD_RIGHTS_REQUIRED = &HF0000
Const SYNCHRONIZE = &H100000
Const SPECIFIC_RIGHTS_ALL = &HFFFF
Const STANDARD_RIGHTS_ALL = &H1F0000
Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF
Const PROCESS_VM_OPERATION = &H8&
Const PROCESS_VM_READ = &H10&
Const PROCESS_VM_WRITE = &H20&


Private Sub Form_Load()

    DiZhi = &H52EFC38
    Timer1.Enabled = True
    Timer2.Enabled = False
    Timer3.Enabled = False
End Sub


Private Sub Timer1_Timer()
    Dim hwnd As Long
    hwnd = FindWindow(vbNullString, "DIEmWin")
     
    If hwnd = 0 Then
        Label12.Caption = "游未加"
        Timer1.Enabled = True
        Timer2.Enabled = False
        Timer3.Enabled = False
      Exit Sub
  End If

    Label12.Caption = "游?已加?"
    SetHp = Text1.Text          ' ?取?定的体力值
    SetMp = Text2.Text          ' ?取?定的魔法值
    NowHp = ncnr(DiZhi + &HA1)        ' ?取?前的体力值
    NowMp = ncnr(DiZhi + &HA5)    ' ?取?前的魔法值
    MaxHp = ncnr(DiZhi + &H25F)    ' ?取角色的最高体力值
    MaxMp = ncnr(DiZhi + &H273)    ' ?取角色的最高魔法值
    Label3.Caption = Str(NowHp) + "/" + Str(MaxHp)      ' ?示角色体力值??
    Label4.Caption = Str(NowMp) + "/" + Str(MaxMp)      ' ?示角色魔法值??

    If Check1.Value Then
        Timer2.Enabled = True
    Else
        Timer2.Enabled = False
    End If
    If Check2.Value Then
        Timer3.Enabled = True
    Else
        Timer3.Enabled = False
    End If
End Sub

Private Sub Timer2_Timer()

    If (NowHp) < SetHp Then
        SendKeys "1"
    End If
End Sub

Private Sub Timer3_Timer()

    If (NowMp) < SetMp Then
        SendKeys "2"
    End If
End Sub

有顏色字句的地方...我按運行是都會說我編譯語言錯誤~~說我沒有定義sub或Function
整個編字過程那裡有錯呢?請大大指教一下

该用户从未签到

发表于 2011-4-7 07:50:00 | 显示全部楼层
FindWindow函数没定义

该用户从未签到

发表于 2011-4-7 07:50:10 | 显示全部楼层
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long'放到模块中

该用户从未签到

发表于 2011-4-7 07:50:19 | 显示全部楼层
跟住他說出錯...SetHp = Text1.Text<---這一句= =為什麼?
已解決
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 02:47

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表