luo-utils

Crates.ioluo-utils
lib.rsluo-utils
version0.1.0
created_at2026-01-09 07:12:52.214224+00
updated_at2026-01-09 07:12:52.214224+00
descriptionA Rust utility library for system automation including mouse/keyboard simulation, window operations, screenshots, and AI inference
homepage
repositoryhttps://github.com/your-username/luo-utils
max_upload_size
id2031727
size332,192
(luo1227)

documentation

README

luo-utils

一个基于Rust的Windows自动化工具库,支持鼠标键盘操作、窗口捕获、定时任务、AI推理等功能。

作为库使用

luo-utils 添加到你的 Cargo.toml

[dependencies]
luo-utils = "0.1.0"

然后在代码中使用:

use luo_utils::utils::{move_mouse, click_mouse, take_screenshot};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 移动鼠标并点击
    move_mouse(100, 200)?;
    click_mouse()?;

    // 截图
    take_screenshot(None, luo_utils::utils::CaptureFormat::Png, Some("screenshot.png".to_string()))?;

    Ok(())
}

功能特性

  • 🖱️ 鼠标控制(移动、点击、拖拽)
  • ⌨️ 键盘模拟输入
  • 🖼️ 窗口截图和捕获
  • ⏰ 定时任务执行
  • 🤖 AI辅助功能集成
  • 📊 DPI感知和适配

安装

作为库使用

cargo add luo-utils

作为命令行工具使用

确保你已安装Rust,然后:

cargo install luo-utils --features cli

或者从源码构建:

git clone <repository-url>
cd luo-utils
cargo build --release --features cli

使用方法

作为命令行工具

# 移动鼠标到指定坐标
luo-utils move <x> <y>

# 在指定坐标点击鼠标
luo-utils click <x> <y>

# 截取屏幕指定区域
luo-utils screenshot <left,top,right,bottom>

# 执行定时任务
luo-utils timedtask <config_file.json>

定时任务配置

创建JSON配置文件定义定时任务序列:

{
  "datetime": "2024-01-07 15:30:00",
  "click_items": [
    {
      "x": 100,
      "y": 200,
      "before": 1000,
      "after": 500
    },
    {
      "x": 300,
      "y": 400,
      "before": 2000,
      "after": 1000
    }
  ]
}

项目结构

src/
├── main.rs          # 主程序入口
├── config.rs        # 配置管理
├── lib.rs           # 库文件
└── utils/           # 工具模块
    ├── ai.rs        # AI功能
    ├── capture.rs   # 屏幕捕获
    ├── dpi.rs       # DPI处理
    ├── keyboard.rs  # 键盘控制
    ├── mouse.rs     # 鼠标控制
    ├── timer.rs     # 定时器
    ├── types.rs     # 类型定义
    └── window.rs    # 窗口管理

依赖

  • windows - Windows API绑定
  • image - 图像处理
  • serde - 序列化/反序列化
  • clap - 命令行参数解析
  • reqwest - HTTP客户端
  • tokio - 异步运行时

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

Commit count: 0

cargo fmt