< 返回版块

zwl1619 发表于 2021-12-04 17:52

Tags:rust

这里有个函数:

fn build_task_async_print() -> Result<Task, TaskError> {
    let mut task_builder = TaskBuilder::default();
    
    let body = create_async_fn_body!({

        Timer::after(Duration::from_millis(2000)).await;
        println!("First something");  //改成模拟按下键盘A键,按下马上弹起

        Timer::after(Duration::from_millis(39999)).await;
        println!("Second something"); //改成模拟按下键盘B键,按下保持2秒钟


     });
}

请教大佬,上面的两个println!(),我要改成模拟按下键盘的A键和B键,应该怎么改?

评论区

写评论
RedPanda 2021-12-05 12:17

最近研究ctrl_c这个事,刚好对你这个问题有了一些不成熟的个人理解。 你想模拟输入类似ABCD这样字母按键,就是要向标准输入输出写入一个ASCII字符。而如果你是想向其他的程序输入一个组合按键的话,比如ctrl_c,其实是向系统输入一个SIG信号,比如在windows下,是发送一个SIGINT信号。

苦瓜小仔 2021-12-04 19:50

我理解错了。。。 忽略我的回答

gwy15 2021-12-04 19:10

https://github.com/obv-mikhail/InputBot 或者 https://docs.rs/enigo/latest/enigo/

作者 zwl1619 2021-12-04 18:25

@苦瓜小仔
大佬能否帮用代码演示一下,看了一下文档,不知道怎么弄。
1、按下A键,马上弹起。
2、按下B键,并保持2秒钟。

1 共 5 条评论, 1 页