随心玩玩(一)易语言 大漠插件 制作脚本从入门到摔门而出(更完)
今晚我們玩腳本好吧,找到了一個社區,里面各種超級黑科技,于是我也想學學
反正會調用api就行
文章目錄
- 下載e語言
- 下載大漠插件
- 制作大漠插件模塊
- 大漠注冊
- 大漠插件設置
- 設置大漠全局路徑
- 設置字庫
- 大漠釋放
- 易語言界面組件的簡單使用
- 通用對話框的運用
- 拖放對象的運用
- 寫配置項的運用
- 讀配置項的運用
- 編輯框只讀
- 運行
- 良好的習慣
- 了解窗口
- 如何獲取窗口句柄
- 注意
- 如何查找子窗口
- 綁定窗口
- 截圖
- 找圖
- 移動鼠標并點擊
- 找色
- 找字
下載e語言
略,自己找一下吧,畢竟還是要支持一下官方的(doge
下載大漠插件
3.1233版本大漠插件的免費,有的用就不錯了,還要啥自行車
把自己的分享一下吧(不知道哪個網站下的了),里面帶有obj.txt(這也不知道是哪里拿的了),鏈接:https://pan.baidu.com/s/1Mgczk5PsyEiljY0Rao9mIQ
提取碼:go9x
制作大漠插件模塊
壓縮包下載下來后運行注冊大漠插件到系統.bat
打開易語言,新建易語言模塊
新建好了易語言模塊
插入類模塊
把obj.txt中的內容復制到類模塊中,原先的刪掉
修改類名為大漠英文版,公開勾上,添加私有成員名obj,類型設置為對象
回車一下obj.創建 (“dm.dmsoft”, )行,沒有報錯就性
然后可以插入一個新類,把類名改成大漠中文版,操作和上面是一樣的,只不過是自己把函數名改成中文的,但是做為一個受過中等教育的大學生還是英文用的習慣吧,這步我直接跳過了,沒必要。
之后點程序,選擇U.配置,輸入程序名:大漠中英文模塊,確定
再選編譯,編譯為指定類型->,選Windows易語言模塊,編譯成功后保存文件名為大漠中英文模塊
大漠注冊
先把dm.dll放到工作目錄下。
新建windows窗口程序,記得一定要將文件保存到工作目錄下,ctrl+s,不然會踩坑的。
接著添加模塊,雙擊模塊引用表
把大漠中英文模塊.ec導入
導入后,ctrl+g,創建全局變量
全局變量名輸入大漠,類型寫大漠英文版
回到程序集,創建大漠,并且調試輸出版本號
(注,后面這個全局變量名我改成dm了)
.版本 2 .支持庫 spec' 注冊大漠模塊到系統 運行 (“regsvr32 dm.dll”, 假, )大漠.創建 ()調試輸出 (大漠.Ver ())彈出框框就說明大漠插件注冊好了,底部的console輸出* “3.1233”
之后可以把運行 (“regsvr32 dm.dll”, 假, )注釋掉
大漠插件設置
設置大漠全局路徑
看接口文檔就行,先打開大漠接口說明.chm,點索引
輸入setp,點開SetPath,里面就有很詳細的說明,以后要查函數也這樣查就行
設置字庫
搜索setDict,看一下說明
設置字庫
' 設置字庫 dm.SetDict (0, “ziku0.txt”)在工作目錄下新建一個ziku0.txt,運行測試一下,顯示空的字庫就行了
大漠釋放
當程序關閉時,大漠應該釋放掉,點屬性,加入事件處理子程序,選上將被銷毀
使用釋放()函數將大漠釋放掉
易語言界面組件的簡單使用
隨便做做
通用對話框的運用
設置-單擊事件
測試一下,點選文件后編輯框可以顯示路徑就行。
拖放對象的運用
拉一個拖放對象進來
接收文件設為真
把得到文件添加進窗口程序集
將拖拽的文件路徑顯示到編輯框
注意:注冊拖放對象后才能拖
—2021.1.9號更新—
寫配置項的運用
保存配置按鈕的單擊事件
寫配置項 (, , , ) 英文名稱:SetKeyText 將指定文本內容寫入指定配置項中或者刪除指定的配置項或節,如果指定配置文件不存在,將會自動創建。成功返回真,失敗返回假。本命令為初級命令。 參數<1>的名稱為“配置文件名”,類型為“文本型(text)”。指定配置文件的名稱,通常以.ini作為文件名后綴。 參數<2>的名稱為“節名稱”,類型為“文本型(text)”。包含欲寫入配置項所處節的名稱。 參數<3>的名稱為“配置項名稱”,類型為“文本型(text)”,可以被省略。參數值指定欲寫入配置項在其節中的名稱。如果參數值被省略,則刪除指定節及其下的所有配置項。 參數<4>的名稱為“欲寫入值”,類型為“文本型(text)”,可以被省略。參數值指定欲寫入到指定配置項中的文本。如果參數值被省略,則刪除所指定配置項。
運行測試一下,輸入123,123,點保存配置按鈕
讀配置項的運用
讀配置項 (, , , ) 英文名稱:GetKeyText 讀取指定配置文件中指定項目的文本內容。本命令為初級命令。 參數<1>的名稱為“配置文件名”,類型為“文本型(text)”。指定配置文件的名稱,通常以.ini作為文件名后綴。 參數<2>的名稱為“節名稱”,類型為“文本型(text)”。包含欲讀入配置項所處節的名稱。 參數<3>的名稱為“配置項名稱”,類型為“文本型(text)”。參數值指定欲讀入配置項在其節中的名稱。 參數<4>的名稱為“默認文本”,類型為“文本型(text)”,可以被省略。如果指定配置項不存在,將返回此默認文本。如果指定配置項不存在且本參數被省略,將返回空文本。編輯框只讀
輸入方式:只讀
運行
運行 (, 假, ) 英文名稱:run 本命令運行指定的可執行文件或者外部命令。如果成功,返回真,否則返回假。本命令為初級命令。 參數<1>的名稱為“欲運行的命令行”,類型為“文本型(text)”。 參數<2>的名稱為“是否等待程序運行完畢”,類型為“邏輯型(bool)”,初始值為“假”。 參數<3>的名稱為“被運行程序窗口顯示方式”,類型為“整數型(int)”,可以被省略。參數值可以為以下常量之一:1、#隱藏窗口; 2、#普通激活; 3、#最小化激活; 4、#最大化激活; 5、#普通不激活; 6、#最小化不激活。如果省略本參數,默認為“普通激活”方式。
只運行.exe文件,lnk快捷方式不會運行
良好的習慣
名稱格式:組件名_組件標題
了解窗口
需要一個抓窗口句柄的軟件,如精易語言編程助手
想要程序要后臺運行,首要綁定窗口,即獲取程序的窗口句柄。
但是句柄每次啟動都是會改變的。
如何獲取窗口句柄
打開接口說明,搜索findwindow,用它來查找符合類名或者標題名的頂層可見窗口
那么我們來測試一下,先創建一個參數接收findWindow的返回值
打印一下結果
461310就是獲取到的句柄
注意
查找窗口句柄需要從最頂層開始查找
如何查找子窗口
findWindowEx
使用FindWindowEx查找子窗口
—2021.1.10號更新—
綁定窗口
BindWindow方法
long BindWindow(hwnd,display,mouse,keypad,mode)
插入一個子程序
改名為綁定窗口
寫命令BindWindow前
我們需要一個大漠測試工具v43.0來測試使用哪個模式,先綁定工作dm.dll的目錄,我的是D:\workcode\e
用這個工具調試該用什么模式
用這個準心拖拽到窗口中
在綁定參數可以選擇模式
選好了點綁定,會彈框提示和右邊有提示信息
然后測試圖色,如果截圖沒有黑屏就差不多行了
點擊Capture,去看這個圖片
第一次不出意外就是黑屏的,多點兩次試試,可能第一次沒有綁定成功,看.bmp有圖了就成功了。
測試鼠標模式
MoveTo和移動以后接一個左鍵點擊,看是否能點擊
用準心獲取坐標,拖拽到你要移動到的點
點擊moveTo試一下,執行成功即可,沒問題就行
然后測試鍵盤
因為是4399來測試的,沒有啥鍵盤能用,就跳過吧,要測試點Keypress按鈕就行
調試結束,可以自動生成綁定代碼
回到易語言寫綁定窗口代碼
截圖
capture
抓全屏,參數就是0,0,2000,2000
回到工作目錄看看,沒問題就成功了
找圖
FindPic,自己仔細看看參數定義,很好懂的。
有10個參數,打9個逗號
打開大漠綜合工具
ctrl+1抓圖
比如我要抓這個開始冒險的圖片
框選后保存到工作路徑下
然后寫找圖代碼
輸出結果,0就說明找到了第一張圖
移動鼠標并點擊
很簡單,直接寫代碼
測試一下,基本沒問題,如果找圖返回-1,請檢查窗口句柄是否正確
—2021.1.11號更新—
找色
找色和找圖參數都差不多的,圖像換成顏色,
使用大漠綜合工具,先抓圖 ctrl+1,比如我想找易語言圖標里的紅色
不要綁定句柄,就可以截當前屏幕了,下面紅框里的是findcolor的前四個參數,在這個范圍找色
先填入前四個參數
然后color顏色獲取方式是點一下色塊,去取色
取出來的紅色ff1515
參數是色彩描述,復制一下
寫完找色代碼,打印輸出
console結果顯示,1說明就是找到了,但是會發現intX和intY有點偏差,這是因為有重復的顏色,查找方向是 0: 從左到右,從上到下 ,只找第一個發現的。
接著可以把鼠標移動MoveTo過去了
找字
找字的話需要制作字庫,我們之前設置了一個空的字庫
如何做字庫呢,打開大漠綜合工具,先打開我們自己空的字庫文件
這是我當前的桌面,比如我想抓‘入門’這兩個,ctrl+1截圖要抓的字
點擊色塊取色,偏色可以設成050505、101010、202020之類的
可以多點幾個點,取完后把勾打上
二值化區域比較清晰就行,如果分辨不好的話,可以多點幾個點,偏色調大,調到505050
然后點提取點陣(單個),也可以取單字,點(多個)就行,不過單字用不上,要取單字的話建議單獨截圖,它自動識別效果不是很好
填入定義文字
敲回車鍵添加到字庫
字庫就做好了
回到接口說明,查findStr,和找圖找色基本一致
先設置找字區域
str是字庫中的剛剛定義文字,輸入入門
顏色是色彩描述
寫完代碼,和之前的一樣
執行結果如下,0就說明找到了第一個字
–2021.1.12–
更完
寫在后面:綁定窗口+找圖函數基本就可以做大部分的簡單腳本了,然而我學會后,熱情也就散了,要做腳本什么的以后再說吧,有這時間我不如多學一點其他的東西,也許這就是點題了——從入門到摔門而出吧。
總結
以上是生活随笔為你收集整理的随心玩玩(一)易语言 大漠插件 制作脚本从入门到摔门而出(更完)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式 之 《组合模式》
- 下一篇: FIFO分枝_限界算法