首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有支持跨平台鼠标操作的ruby gem?

有没有支持跨平台鼠标操作的ruby gem?
EN

Stack Overflow用户
提问于 2011-09-27 00:40:37
回答 2查看 1.2K关注 0票数 4

我需要以编程方式触发特定坐标的鼠标点击的能力。我找到了AutoIt和auto_click gem,它们都应该提供这种功能,但只在windows上提供。我还发现了rautomation gem,它旨在提供跨平台功能,但目前似乎只支持Windows。

有没有其他的宝石可以直接在Ruby中自动点击特定x/y坐标的鼠标?

EN

回答 2

Stack Overflow用户

发布于 2011-09-29 17:08:50

我认为这是一个严重依赖于系统的任务。您应该为您的代码提供一种加载依赖于系统的gem的方法( Win上的AutoIt,Linux上的Automations )。如果您的目标是Mac,那么您可以通过FFI库从CGRemoteOperation.h调用CGPostMouseEvent来构建自己的库。

例如:

需要'ffi‘

代码语言:javascript
复制
module Mouse
  extend FFI::Library
  ffi_lib '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics'

  class CGPoint < FFI::Struct
    layout :x, :double, :y, :double 
  end

  attach_function :CGPostMouseEvent, [ CGPoint, :bool, :int, :bool ], :void
end

point = Mouse::CGPoint.new
point[:x] = 100
point[:y] = 100

Mouse::CGPostMouseEvent(point, true, 1, true)
票数 2
EN

Stack Overflow用户

发布于 2014-02-25 22:11:13

看看rumouse gem吧。它提供了简单的API,支持linux、osx和windows。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7558315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档