You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dart检测并触发桌面任意位置的鼠标点击

推荐的Dart桌面鼠标操作库

针对你需要的全局鼠标点击检测和模拟鼠标点击需求,推荐以下两个Dart库:

1. 全局鼠标点击检测:native_hook

这个库支持跨平台(Windows、macOS、Linux)的全局键盘/鼠标事件监听,功能类似Java的JNativeHook。

基本用法

  1. 添加依赖到pubspec.yaml:
dependencies:
  native_hook: ^0.2.0
  1. 监听鼠标点击事件:
import 'package:native_hook/native_hook.dart';

void main() async {
  // 初始化钩子
  await NativeHook.initialize();
  
  // 监听鼠标按下事件
  NativeHook.mouseButtonDown.listen((event) {
    print('鼠标点击位置:(${event.x}, ${event.y}),按键类型:${event.button}');
  });
  
  // 保持程序运行以持续监听
  await Future.delayed(const Duration(days: 1));
}

注意:macOS下需要在系统设置中给应用开启「辅助功能」权限,Windows可能需要管理员权限才能正常监听全局事件。

2. 模拟鼠标点击操作:robot_dart

这个库专门用于模拟鼠标、键盘的硬件级操作,和Golang的robot库功能一致,支持跨平台。

基本用法

  1. 添加依赖到pubspec.yaml:
dependencies:
  robot_dart: ^0.1.0
  1. 模拟鼠标移动与点击:
import 'package:robot_dart/robot_dart.dart';

void main() async {
  final robot = Robot();
  
  // 移动鼠标到屏幕坐标(200, 300)
  await robot.moveMouse(200, 300);
  
  // 触发左键单击
  await robot.mouseClick(MouseButton.left);
  
  // 触发右键双击
  await robot.mouseDoubleClick(MouseButton.right);
}

结合使用

如果需要同时实现全局监听和模拟操作,可以直接在项目中同时引入这两个库,它们的功能互不冲突,可配合使用。

内容的提问来源于stack exchange,提问作者Scramjet_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:40:48