| 本帖最后由 XWCXF 于 2025-9-3 14:22 编辑 
 
 
 今天学习在aardio中模拟键盘和鼠标操作,记录一下学习成果: 模拟鼠标点击
 
 
 原来在aardio里模拟鼠标点击这么简单,我试了这个示例: 
 [AAuto] 纯文本查看 复制代码 import win.ui
import mouse
/*DSG{{*/
var winform = win.form(text="模拟鼠标点击示例";right=759;bottom=469)
winform.add(
edit={cls="edit";text="稍等一下,有惊喜";left=4;top=2;right=753;bottom=171;edge=1;multiline=1;z=1}
)
/*}}*/
winform.show();
// 模拟鼠标左键点击屏幕坐标 (925, 1044) 的位置
onInit = function(){
    thread.delay(2000)
    mouse.click(925,1044,true)
}
onInit()
win.loopMessage();
 
 
 代码里的mouse.click(925,1044,true)就是让鼠标在屏幕坐标(925,1044)的地方进行左键点击,最下化窗口。 模拟鼠标移动
 
 有时候需要先移动鼠标再操作,这个也很容易实现: 
 [AAuto] 纯文本查看 复制代码 import win.ui
import mouse
/*DSG{{*/
var winform = win.form(text="模拟鼠标移动示例";right=759;bottom=469)
winform.add()
/*}}*/
//winform.show();
// 模拟鼠标移动到屏幕坐标 (200, 200) 的位置
onInit = function(){
    
    mouse.moveTo(200,200,true,2,10)
}
onInit()
win.loopMessage();
 
 
 这段代码让鼠标平滑地移动到(200,200)的位置,参数还可以控制移动的速度和步数,很灵活。 模拟键盘输入
 
 除了鼠标操作,模拟键盘输入也很重要,试了这个输入文字的例子: 
 [AAuto] 纯文本查看 复制代码 import math;
import winex
import win.ui;
import winex.key
/*DSG{{*/
var winform = win.form(text="模拟键盘输入";right=759;bottom=469)
winform.add(
edit={cls="edit";left=4;top=6;right=750;bottom=202;edge=1;multiline=1;z=1}
)
/*}}*/
winform.show();
var key = winex.key
var hEdit = winform.edit.hwnd; 
var text = 'Hello, World!'; 
var a = string.split(text); 
for(i=1;#a;1){
    
    key.send(hEdit, a[i]);
    thread.delay(math.random(100,300))
}
win.loopMessage();
 
 
                                                                        
 通过key.send()方法可以像真人打字一样输入文字,还加入了随机延迟,看起来更自然,不会被误认为是机器操作。 综合练习
 
 最后做了一个综合练习,要求先移动鼠标到(500,500),点击后输入"Hello, World!",我的实现代码: 
 [AAuto] 纯文本查看 复制代码 import winex
import win.ui;
import winex.key
import mouse
var winform = win.form(text="综合练习";right=759;bottom=469)
winform.add(
edit={cls="edit";left=4;top=6;right=750;bottom=202;edge=1;multiline=1;z=1};
edit2={cls="edit";left=10;top=352;right=277;bottom=396;edge=1;multiline=1;z=2}
)
winform.show();
function simulate(){
    import math
    var key = winex.key
    
    var hEdit1 = winform.edit.hwnd; 
    key.send(hEdit1, "Hello, World!");
    mouse.moveTo(556,707,true,2,10)
    
    var new_hEdit = winform.edit2.hwnd; 
    
    var click = mouse.click()
    
    var hEdit = winex.wait(click)
    var text = 'Hello, World!'; 
    var a = string.split(text); 
    
    for(i=1;#a;1){
        key.send(new_hEdit, a[i]);
        thread.delay(math.random(100,300))
    }        
}
simulate()
win.loopMessage();
 
 今天学完 aardio 的键鼠模拟,最大的感受是:办公自动化没想象中复杂。之前总觉得重复操作 “忍忍就过去了”,现在发现用代码就能轻松解决,既省时间又能减少失误。后续要多做实操练习,把这些方法落地到日常工作里,让技术真的帮上忙。 aardio 新手交流学习群,一起学习的进
 qq群号:697197055微信群加我  Xue_CatSky 拉你
 
 
 
 
 
 |