標籤:

Matlab如何製作滑鼠精靈

又是許久不見,這一周,大家過得都還好么?如果有朋友仍舊深深掙扎於重複的機械式任務,希望今天我的這篇帖子能夠幫助到你。

這篇帖子的主題很有意思,所開發的功能和滑鼠精靈有些類似,或者說可以算是一個簡易版的滑鼠精靈,而特殊之處在於,工具是用Matlab寫的。

相比起這個工具的本身,我自己覺得更有意義的是,為什麼我想開發這個工具。

在過去的兩周,我深深的被同一類事情困擾著,那就是每天不計其數的輸入用戶名和密碼。解鎖屏幕輸密碼,這個我是心服口服的,但是像查工資,登陸請假系統,甚至於登陸郵箱系統,都需要輸入用戶名和密碼,再加上無時不刻要進入項目系統,更是免不了用戶名和密碼,還有太多類似的系統枚舉不完,而且更為頭疼的問題在於,很多系統的用戶名和密碼還各不相同。我大致地估算了一番,毫不誇張的說,我一天大概有將近10分鐘的時間在等登陸界面的響應以及敲用戶名和密碼。

我並不是在抱怨10分鐘是一段多麼長的時間,浪費的只是時間,而耗盡的卻是耐心

於是,這個工具就這麼產生了,先來看一下這個工具長什麼樣。

從界面上,大致可以看到這個工具的界面上分為四個區域:

- 最為醒目的是右側的列表欄,在工具使用過程中,列表欄中將會依此顯示每一步操作的內容,比如移動滑鼠、右鍵點擊,或者是左鍵點擊,等等。

- 左側的中間區域」Operation」就是每一步操作的按鈕,每點擊完一次該區域按鈕,右側的步驟列表中就會記錄下該步驟

- 左側的下部分區域」Steps-Edit」能夠實現步驟列表中步驟的刪減

- 左側的上部分區域」Home」,大致為將所定義的步驟生成代碼,以及運行該代碼。

接下來通過一個關於防火牆設定的動圖例子,更直觀的了解整個工具的使用過程

從動圖中可以看到,整個流程大致為:

1) 移動滑鼠

2) 左鍵

3) 移動滑鼠

4) 右鍵

5) 移動滑鼠

6) 移動滑鼠

7) 左鍵

最終能夠完成防火牆設置的更改。然後按照上述該步驟,在工具中進行步驟的設置,以第一步移動滑鼠為例:

在點擊move mouse的按鈕之後,有3s倒計時的時間可以將滑鼠移動到目標位置,然後步驟列表欄中將會顯示這一步操作,具體會移動到哪個坐標。而除去滑鼠移動功能之外,其他的按鍵不存在倒計時的等待,以該動圖為例,點擊Left-Click,步驟列表中直接顯示相應的操作。最終,所有的步驟,在工具的步驟列表中翻譯過來,就是下面這幅圖的樣子:

如果在選取步驟的過程中出現步驟錯誤,可以進行多項刪減

在所有步驟都確定完成後,點擊Code-Generation按鈕,就能夠生成關於這些步驟的.m文件,然後點擊Run按鈕,能夠執行該文件。今後如果需要進行同樣的操作,只需直接運行今天所定義完的腳本即可。

關於通過用戶名和密碼自動登陸的功能,在Operation欄中有一個按鈕叫做Input-Password,而這個按鈕最終在執行操作的過程,所對應的邏輯就是,在密碼管理系統中查找所登陸系統所對應用戶名和密碼,而這個密碼管理系統我採用的是Excel管理,同時該Excel文件需要設置密碼,這樣也能防止密碼的泄露。在這裡如果有朋友對加密的Excel文件讀取感興趣,可以在評論區告知我,下一篇也可以聊一聊這個話題。

以上就是整個工具的使用流程,而至於其中的原理,代碼十分簡單,使用的是java.awt.robot。對這一塊感興趣的朋友,我推薦一個問答貼,這個問題的下方,有幾個朋友給出了幾個很有幫助的代碼例子。

對於這個工具的用途,就近的來說,我打算制定一個電腦開機初始化的功能,一鍵開啟所有所需的系統、軟體與郵箱。若是談及未來的展望,我更希望在不久的將來能夠完成驗證碼的識別,進而實現類似於拍滬牌的功能。

今天的分享到此結束,祝大家周末愉快!

以上

如果你有興趣,歡迎關注我的微信公眾號「打浦橋程序員」,謝謝


推薦閱讀:

即將出版!《數學建模與數學實驗》書稿目錄
Matlab|Matlab二維繪圖
漫談Simulink:什麼是代數環?
研究電力電子化電力系統穩定性的利器——阻抗法
MATLAB App Designer教程連載5: App Designer和MVC模式

TAG:MATLAB |