首先把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模組製作 易語言大漠多執行緒模組製作及多執行緒呼叫 第一課 語言大...