易語言多執行緒大漠多執行緒指令碼主副執行緒

2021-10-06 16:26:08 字數 1385 閱讀 4929

在大漠多執行緒模板中,指令碼副執行緒的作用主要是乙個監控執行緒,可以監控遊戲視窗是否存在,遊戲是否卡屏,是否掉線,當然你可以用來進行遊戲裡的其他檢測監控。

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

大漠多執行緒主副執行緒

.版本 2

.子程式 指令碼副執行緒, , , 監控執行緒

.引數 序號, 整數型

.區域性變數 dm, dmsoft

.區域性變數 dm_ret, 整數型

.區域性變數 死迴圈, 邏輯型

.區域性變數 任務完成, 文字型

' 要把大漠外掛程式介面初始化為mat執行緒模型

coinitializeex (0, 0)

執行緒資訊 [序號].執行緒狀態 = #執行緒狀態_正在執行

多執行緒_非同步通知ui (#通知型別_更新, 序號)

' 建立物件

執行緒資訊 [序號].dm.建立 ()

dm = 執行緒資訊 [序號].dm

.如果真 (dm.ver () = 「」)

日誌輸出 (「大漠物件建立失敗」)

設定異常 (序號, 「物件建立失敗」)

返回 ()

.如果真結束

' 開啟全域性字型檔

' dm.enablesharedict ()

' 設定全域性路徑

dm.setpath (「c:\test」)

' 開始繫結遊戲視窗,根據自己的遊戲換繫結方式

dm_ret = dm.bindwindowex (執行緒資訊 [序號].視窗控制代碼, 「normal」, 「normal」, 「dx」, 「dx.public.anti.api|dx.public.disable.window.show」, 0)

.如果真 (dm_ret ≠ 1)

日誌輸出 (「主:繫結失敗,錯誤碼:」 + 到文字 (dm.getlasterror ()))

' 通知主線程進行結束操作(釋放資源)

設定異常 (序號, 「繫結失敗:副」)

返回 ()

.如果真結束

死迴圈 = 真

.判斷迴圈首 (死迴圈)

' 可用來檢測指令碼的異常情況,比如,掉線,目標視窗關閉,

檢測異常 (序號)

指令碼延時 (序號, 1000)

.判斷迴圈尾 ()  

.子程式 做任務

.引數 序號

.區域性變數 dm, dmsoft

dm = 執行緒資訊 [序號].dm

dm.keypresschar (「d」)

指令碼延時 (序號, 1000)  

.子程式 指令碼延時

.引數 序號

.引數 時間

延時 (時間)

原始碼:易語言多執行緒大漠多執行緒-37大漠多執行緒模板-7指令碼主副執行緒

易語言多執行緒大漠多執行緒模板指令碼延時

易語言裡有延遲 延時,模組裡也有程式延時,超級延時,之類的命名,但多執行緒裡的指令碼的暫停和恢復,還涉及到內部解綁,這裡採用ui通知的方式,開始真正的暫停,使用死迴圈,不去呼叫系統介面,減少系統資源的占用。511遇見易語言多執行緒大漠多執行緒 大漠多執行緒指令碼延時 版本 2 子程式 指令碼延時,用...

易語言多執行緒大漠多執行緒模板UI更新

ui更新就是對視窗的元件超級列表框傳送讀寫,採用了封裝。大漠多執行緒模板原始碼 版本 2 支援庫 iext 子程式 ui 更新,用來更新視窗的超級列表框相關執行緒資訊 引數 主序號,整數型 引數 操作,整數型 區域性變數 列表索引,整數型 增加 如果真 操作 ui 增加 列表索引 視窗列表.插入表項...

易語言多執行緒大漠多執行緒模板多執行緒初始化

多執行緒初始化,在啟動視窗後,需要首先呼叫,包括對執行緒控制代碼,視窗控制代碼,程序pid,程序狀態,異常狀態,是否暫停,是否結束的初始化,特別說明的是,為任務狀態申請記憶體空間,因為任務狀態的資料型別是文字型,防止避免多執行緒訪問文字型變數引發的資料衝突,預先分配好記憶體位址。511遇見易語言多執...