UiPath-默認、SendWindowMessages和SimulateType(SimulateClick)三種鼠標鍵盤模擬行為


UiPath中,模擬鼠標和鍵盤支持3種模式:

Default、SendWindowMessages、SimulateType(SimulateClick)(SimulateType是輸入,SimulateClick是點擊)

Default模式:SendWindowMessages、SimulateType(SimulateClick)不選或都為false時

 

這三種有什么樣的區別?

我們從原理和具體表現兩個角度來區分他們。

原理:

 

這是官方文檔上的圖。

按照官方的說法,Default模式是基於系統驅動的方式,來模擬鍵盤和鼠標行為。是最接近真實的鼠標和鍵盤的方式。

SendWindowMessages模式,是通過向應用程序發送Window Message進行模擬的。是基於應用的方式。

SimulateType(SimulateClick)模式,是通過向UI元素發送消息進行模擬的。是基於UI元素的。

於是根據原理並官方文檔我們可以得出下表:

類型 基於 兼容程度 響應速度
Default 系統驅動(最接近真實鼠標鍵盤的方式) 全部
SendWindowMessages 應用 大部分
SimulateType(SimulateClick) UI元素 一部分

 

 

具體表現:

我們在桌面創建了txt,並在uipath中,創建3個Keyborad.TypeInfo活動。

第一個我們使用Default的模式,第二種我們選擇SendWindowMessages模式,第三種我們使用SimulateType模式。

 

分別向這個txt文件輸入文字。

然后我們啟動程序,當這個程序在向這個txt文件輸入文字時,我們嘗試每次在輸入前,把鼠標光標挪開到其他應用程序窗口。

 

我們會發現:

類型 光標 文字
Default 本來在其他應用程序窗口的光標,會移動到txt文本框內。 文字是一個個打出的
SendWindowMessages 在其他應用程序窗口的光標不會被移動 文字是一個個打出的
SimulateType 在其他應用程序窗口的光標不會被移動 文字是瞬間出來的

總結:

根據上表的光標特性,當我們的機器人運行在有人工作的電腦上,我們是不能使用default模式的。

當然根據原理和具體表現的其他特征,我們還能推導出更多場景的適用方式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM