黃易群俠傳M脫機外掛應用程式黃易神行
2287
8

[討論] 最基礎的VB6分享

wgtest 發表於 2012-5-7 23:18:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |
因為只在這裡看過丁丁的程式碼,VB6的沒看過,所以分享一下。

這只是最基礎的讀取血量。元件:一個標籤跟一個計時器做成的讀取功能。
我的目標是僅瞭解VB6語法及函數的人就能看註釋知道為什麼寫這程式碼。
不過我幾乎十年沒碰VB又不是讀電腦的科系,如果註釋有錯誤請告知,謝謝。

當然,我知道有流程圖才容易懂軟體製作時的思考模式,
如果有人要討論我再做吧!沒有就當作一個紀錄留著就好。

P.S.沒有限制回文才看得到,請不要無意義的推文,有問題或建議再來討論。
     否則就讓它慢慢沉下去就好,謝謝。

Option Explicit '強制宣告所有的變數。
'API宣告
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long '搜尋視窗
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal HWnd As Long, lpdwProcessId As Long) As Long '取得程序識別碼
Private Const PROCESS_ALL_ACCESS = &H1F0FFF '指定訪問程序的方法
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long '打開程序
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long '關閉程序
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long '讀取記憶體
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long '寫入記憶體
'變數宣告
Dim hProcess    As Long '程序控制碼
Dim BassAdd     As Long '全局基址
Dim Base1C      As Long '動態基址
Dim ChBase      As Long '人物基址
Dim Hp          As Long '當前血量
Dim HpMax       As Long '最大血量
Private Sub Form_Load()
    Call OpenCheck  '確認遊戲
End Sub

Private Sub Timer1_Timer()
    Call DataLoad '讀取遊戲資料
End Sub
Private Sub OpenCheck() '確認遊戲是否啟動
    Dim HWnd As Long                                                '視窗控制碼
    HWnd = FindWindow(vbNullString, "完美世界")                     '取得視窗控制碼
        If HWnd = 0 Then
            MsgBox "遊戲未啟動"
            Exit Sub
        End If
    Dim ProcessID As Long                                           '程序識別碼
    Call GetWindowThreadProcessId(HWnd, ProcessID)                  '取得程序識別碼
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, ProcessID)    '取得程序控制碼
        If ProcessID = 0 Then
            Debug.Print "無法取得程序控制碼"
            Exit Sub
        End If
End Sub
Private Sub DataLoad() '讀取遊戲資料
    ReadProcessMemory hProcess, ByVal &HA571E0, BassAdd, 4, 0&      '全局基址
    ReadProcessMemory hProcess, ByVal BassAdd + &H1C, Base1C, 4, 0& '動態基址
    ReadProcessMemory hProcess, ByVal Base1C + &H34, ChBase, 4, 0&  '人物基址
    ReadProcessMemory hProcess, ByVal ChBase + &H494, Hp, 4, 0&     '當前血量
    ReadProcessMemory hProcess, ByVal ChBase + &H4DC, HpMax, 4, 0&  '最大血量
    HpLabel.Caption = Hp & "/" & HpMax
End Sub
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


a25526598 當前離線
UID
1686717
熱心
27 值
嘉獎
0 次
違規
0 次
在線時間
2 小時
經驗
18 點
積分
80
精華
0
最後登錄
2018-8-6
閱讀權限
20
註冊時間
2011-5-11
論壇幣
18 幣
聯合幣
15 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
a25526598 2013-3-25 13:17:17
謝謝你的分想囉
這些資訊超有用的
回覆

使用道具 舉報

clubblard426 當前離線
UID
458257
熱心
73 值
嘉獎
0 次
違規
0 次
在線時間
28 小時
經驗
41 點
積分
194
精華
0
最後登錄
2018-8-6
閱讀權限
20
註冊時間
2007-7-24
論壇幣
29 幣
聯合幣
21 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
clubblard426 2013-7-27 19:33:52
請問VB現在還找的到嗎? 現在的版本是哪個版本? 感謝
回覆

使用道具 舉報

lenzlenz 當前離線
UID
958067
熱心
38 值
嘉獎
0 次
違規
0 次
在線時間
4 小時
經驗
22 點
積分
22
精華
0
最後登錄
2014-2-1
閱讀權限
20
註冊時間
2008-7-29
論壇幣
22 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
lenzlenz 2013-8-10 22:22:45
太好了、正在寫喝水不知道怎麼開始感謝版大貼這些code
回覆

使用道具 舉報

chenjiunan 當前離線
UID
79427
熱心
22 值
嘉獎
0 次
違規
0 次
在線時間
34 小時
經驗
12 點
積分
12
精華
0
最後登錄
2013-8-29
閱讀權限
10
註冊時間
2006-11-12
論壇幣
13 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
5
chenjiunan 2013-8-28 13:13:07
非常實用的一篇文章,感謝大大提供分享~~~
大家好
回覆

使用道具 舉報

hdoioief 當前離線
UID
2050642
熱心
9 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
7 點
積分
7
精華
0
最後登錄
2013-9-22
閱讀權限
5
註冊時間
2013-9-22
論壇幣
7 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
6
hdoioief 2013-9-22 09:36:07
這篇文章受用無窮 感謝版大分享...........
回覆

使用道具 舉報

kingstal 當前離線
UID
2053784
熱心
53 值
嘉獎
0 次
違規
0 次
在線時間
12 小時
經驗
27 點
積分
27
精華
0
最後登錄
2014-1-11
閱讀權限
20
註冊時間
2013-10-6
論壇幣
17 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
7
kingstal 2013-10-8 13:25:09
感谢大大无私的分享~~~~~~~~~
谢谢大大~
回覆

使用道具 舉報

qwe99843 當前離線
UID
2419540
熱心
2 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
9 點
積分
23
精華
0
最後登錄
2017-6-5
閱讀權限
20
註冊時間
2017-6-5
論壇幣
9 幣
聯合幣
3 枚
幸運鑽
2 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
8
qwe99843 2017-6-5 21:55:35
感謝大大分享自己的知識
收穫真大
謝謝
回覆

使用道具 舉報

youxi123 當前離線
UID
2451215
熱心
2 值
嘉獎
0 次
違規
0 次
在線時間
0 小時
經驗
6 點
積分
17
精華
0
最後登錄
2019-4-5
閱讀權限
10
註冊時間
2019-4-5
論壇幣
6 幣
聯合幣
3 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 1
9
youxi123 2019-4-5 17:37:05
權限不夠。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-11-22 13:07 , Processed in 0.062022 second(s), 15 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?