如何使用rust编写模拟键盘按键?

新手上路,请多包涵

就是类似简易版的按键精灵,最好有实例。
运行程序自动按下对应键盘ABC459这样的

谢谢大佬

阅读 3.4k
1 个回答

虽然我更本不懂RUST,但是这种问题自己去搜索,不是比提问来得快,我随便一搜就可以找到

extern crate winapi;

use winapi::um::winuser::{INPUT, INPUT_KEYBOARD, KEYBDINPUT, SendInput, VK_A};

fn main() {
    // 构造按键输入结构体
    let mut input: INPUT = std::mem::zeroed();
    input.type_ = INPUT_KEYBOARD;
    input.u.ki_mut().wVk = VK_A as u16;
    
    // 发送按键输入
    unsafe {
        SendInput(1, &mut input, std::mem::size_of::<INPUT>() as i32);
    }
}

这段代码会模拟按下'A'键,通过改变input.u.ki_mut().wVk的值来模拟不同的按键。你可以使用KEYBDINPUT结构体来指定更多的按键选项,例如按下和释放的时间戳,Shift、Ctrl等组合键。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进