易語言調用大漠插件實現多線程後臺綁定遊戲窗口和打怪

首先把dm變量定義成數組,線程句柄,線程ID都定義成數組。html

511碰見(www.511yj.com)

而後經過進程_取ID數組 (「gamefree.exe」, process_id, )獲取全部遊戲窗口的句柄ID加入數組process_id,而後經過取數組成員數,肯定開了幾個遊戲窗口,對相關數組從新定義下標。經過進程ID取建立句柄,分別獲取相應窗口句柄,進行後臺綁定。windows

511碰見(www.511yj.com)

易語言源碼:數組

.版本 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碰見易語言大漠多線程插件

相關文章
相關標籤/搜索