一个基于 Electron + Vue 3 + TypeScript 的设备插件自动运行工具,用于监控可移动存储设备并自动执行预配置的任务。
- 设备监控: 实时监控可移动存储设备的连接和断开
- 任务配置: 为不同设备配置自定义的可执行程序任务
- 自动执行: 设备插入时自动执行配置的任务(通过Windows任务计划)
- 手动执行: 支持立即手动执行设备任务
- 卷标识别: 支持通过设备ID和卷标两种方式识别设备
- 多程序支持: 单个设备可配置多个可执行程序并行启动
- 配置持久化: 任务配置自动保存到本地文件
- Electron - 跨平台桌面应用框架
- Vue 3 - 现代化前端框架
- TypeScript - 类型安全的JavaScript超集
- Vite - 快速的构建工具
- Element Plus - Vue 3 UI组件库
- @element-plus/icons-vue - Element Plus图标库
- ESLint - 代码质量检查
- Prettier - 代码格式化
- unplugin-auto-import - 自动导入API
- unplugin-vue-components - 按需自动导入组件
- Windows任务计划 - 实现设备插入时的自动任务执行
- PowerShell - 查询可移动存储设备信息
- 批处理脚本 - 任务执行的具体实现
- Node.js >= 16.0.0
- pnpm >= 7.0.0(推荐)或 npm
# 使用 pnpm(推荐)
pnpm install
# 或使用 npm
npm install# 启动开发服务器
pnpm dev# 构建所有平台
pnpm build
# 仅构建 Windows 版本
pnpm build:win
# 仅构建 macOS 版本
pnpm build:mac
# 仅构建 Linux 版本
pnpm build:linux# 代码格式化
pnpm format
# 代码检查
pnpm lint
# 类型检查
pnpm typecheck- 应用启动后会自动监控可移动存储设备
- 在"设备管理"标签页查看当前连接的设备
- 支持实时显示设备连接/断开状态
- 点击设备卡片上的"配置任务"按钮
- 填写任务名称(默认为设备名称+任务)
- 配置可执行文件路径(支持多个程序)
- 可选填卷标名称用于设备识别
- 保存配置后自动创建Windows任务计划
- 自动执行: 设备插入时通过Windows任务计划自动执行
- 手动执行: 在设备卡片或任务配置页面点击"立即执行"
- 在"任务配置"标签页查看所有已配置的任务
- 支持立即执行、删除配置等操作
DevicePlug-RunTool/
├── src/
│ ├── main/ # Electron 主进程
│ │ └── index.ts # 主进程入口文件
│ ├── preload/ # 预加载脚本
│ │ ├── index.ts # 预加载脚本入口
│ │ └── index.d.ts # 类型定义
│ └── renderer/ # 渲染进程(Vue应用)
│ ├── src/
│ │ ├── App.vue # 主应用组件
│ │ ├── main.ts # 渲染进程入口
│ │ └── components/
│ │ └── DeviceCard.vue # 设备卡片组件
│ └── index.html # HTML模板
├── resources/
│ └── icon.png # 应用图标
├── electron.vite.config.ts # Electron + Vite 配置
├── electron-builder.yml # 应用打包配置
├── package.json # 项目配置
└── README.md # 项目文档
- 配置文件位置:
~/.deviceplug-runtool/task-configs.json - 脚本文件位置:
~/.deviceplug-runtool/scripts/ - 任务计划前缀:
DevicePlug_
- 优先使用设备ID: 精确匹配特定设备
- 卷标匹配: 当设备ID变化时使用卷标识别
- 自动检测: 每5秒检查一次设备连接状态
- 权限要求: 应用需要管理员权限来创建Windows任务计划
- 杀毒软件: 某些杀毒软件可能会阻止自动执行功能
- 路径格式: 可执行文件路径需要使用绝对路径
- 中文支持: 批处理脚本使用GBK编码确保中文正确显示
Q: 任务计划创建失败? A: 请确保以管理员身份运行应用
Q: 设备检测不到? A: 检查设备是否为可移动存储设备,确认驱动正常安装
Q: 任务执行没有反应? A: 检查可执行文件路径是否正确,确认程序可以正常启动
- 开发模式: 查看控制台输出
- 生产模式: 检查Windows事件查看器中的任务计划日志
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如果您在使用过程中遇到问题,请:
- 查看本文档的故障排除部分
- 搜索现有的 Issues
- 创建新的 Issue 并提供详细信息
DevicePlug-RunTool - 让设备管理更加智能化 🚀