易語言呼叫大漠外掛程式實現多執行緒後台繫結遊戲視窗和打怪

2021-10-07 07:23:05 字數 1750 閱讀 1550

首先把dm變數定義成陣列,執行緒控制代碼,執行緒id都定義成陣列。

然後通過程序_取id陣列 (「gamefree.exe」, process_id, )獲取所有遊戲視窗的控制代碼id加入陣列process_id,然後通過取陣列成員數,確定開了幾個遊戲視窗,對相關陣列重新定義下標。通過程序id取建立控制代碼,分別獲取相應視窗控制代碼,進行後台繫結。

易語言原始碼:

.版本 2

.支援庫 spec

.程式集 視窗程式集_啟動視窗

.程式集變數 dm, e大漠, , "0", 大漠外掛程式

.程式集變數 thread_id, 整數型, , "0", 執行緒id

.程式集變數 thread_hwnd, 整數型, , "0", 執行緒控制代碼

.程式集變數 許可證, 執行緒許可證

.子程式 __啟動視窗_建立完畢

重定義陣列 (dm, 假, 1)

dm [1].初始化註冊雲 (取執行目錄 () + 「\dm.dll」)

除錯輸出 (dm [1].ver ())

.子程式 _按鈕_thread_被單擊

.區域性變數 process_id, 整數型, , "0"

.區域性變數 array_total, 整數型

.區域性變數 i, 整數型

.區域性變數 hwnd, 整數型

程序_取id陣列 (「gamefree.exe」, process_id, )

array_total = 取陣列成員數 (process_id)

重定義陣列 (dm, 假, array_total)

重定義陣列 (thread_hwnd, 假, array_total)

重定義陣列 (thread_id, 假, array_total)

.計次迴圈首 (array_total, i)

dm [i].初始化 ()

hwnd = 程序_id取視窗控制代碼 (process_id [i], , , )

dm [i].bindwindow (hwnd, 「dx」, 「dx2」, 「windows」, 0)

延遲 (500)

thread_hwnd [i] = 執行緒_啟動 (&子程式_主線程, i, thread_id [i])

延遲 (500)

.計次迴圈尾 ()

.子程式 子程式_主線程

.引數 thread, 整數型

許可證 = 執行緒_建立許可證 ()

執行緒_進入許可區 (許可證)

執行緒_初始化com庫 ()

子_打怪 (thread)

子_簽到 (thread)

dm [thread].unbindwindow ()

dm [thread].銷毀 ()

執行緒_取消com庫 ()

執行緒_退出許可區 (許可證)

執行緒_刪除許可證 (許可證)

.子程式 子_打怪, , , 也就是打怪執行任務的子程式

.引數 thread

.區域性變數 i, 整數型

.計次迴圈首 (100, i)

dm [thread].keypress (115)

延遲 (1000)

.計次迴圈尾 ()

.子程式 子_簽到

.引數 thread

原始碼參考:第四課易語言大漠多執行緒繫結和打怪(方法二)

511遇見易語言大漠多執行緒

易語言如何呼叫大漠外掛程式

由於大漠是com元件,我們在呼叫大漠時,需要先通過註冊到系統,有可以通過支援庫呼叫,以後還可以免註冊呼叫,對於剛接觸的童鞋我們建議採用元件,支援庫,呼叫,但支援庫是不支援靜態編譯的,從學習的角度,我們是了解它的呼叫過程。1 先將大漠外掛程式註冊 工具 型別庫或ocx組建 支援庫 支援庫配置 dm 2...

易語言呼叫大漠實現多執行緒繫結遊戲多視窗

要想實現多執行緒,首先要取得所有遊戲視窗的程序id,然後獲取每個id的視窗控制代碼,然後迴圈繫結,執行多執行緒,步驟思路 1 程序 取id陣列 gamefree.exe process id,獲取程序id加入陣列process id 2 total array 取陣列成員數 process id 取...

易語言大漠多執行緒模組製作及多執行緒呼叫實戰

首先是多執行緒模組的多種製作方法和呼叫方法,其次每種多執行緒模組都實現免註冊到系統呼叫,和免殺軟的查殺,更重要的是示範了多種多執行緒模組的呼叫方法。11 易語言大漠多執行緒模組製作及多執行緒呼叫 12 511遇見安卓模擬器易語言adb模組製作 易語言大漠多執行緒模組製作及多執行緒呼叫 第一課 語言大...