`

Ruby:使用Ruby脚本,快捷切换鼠标左右手习惯

阅读更多

在下面这篇博客里,我使用C#,写了一个命令,可以快捷的切换鼠标左右手习惯。

使用C#: 自动切换鼠标的左右手习惯

 

今天到了一个新环境,想用下这个命令,

却一时找不到编译好的文件,手头有没有visual studio的环境,

于是索性用Ruby将其重写,

原理一样, 都是调用win32 api修改左右收习惯,并修改注册表。

修改注册表的目的是,当电脑重启的时候, 我们的设置也依然有效。

 

Ruby脚本如下:

require "Win32API"
require 'win32/registry'

def switch_mouse_habit ()
  sm_swapbutton = 23 # public const int SM_SWAPBUTTON = 23;
  mouseStatus = Win32API.new('user32.dll', 'GetSystemMetrics',['L'], 'L').call(sm_swapbutton)
  targetStatus = ( mouseStatus + 1 ) % 2
  puts "original status: #{mouseStatus} ;  target status: #{targetStatus}"
  Win32API.new('user32.dll', 'SwapMouseButton',['L'], 'L').call(targetStatus)

  # see: http://en.wikibooks.org/wiki/Ruby_Programming/Standard_Library/Win32::Registry
  name = Win32::Registry::HKEY_CURRENT_USER.create "Control Panel\\Mouse"
  #puts name["SwapMouseButtons"]
  name.write_s "SwapMouseButtons", targetStatus.to_s
end

switch_mouse_habit()

 

 

 

 

 

 

分享到:
评论

相关推荐

    Ruby:ruby错误处理教程

    Ruby:ruby错误处理教程

    Ruby::Watir库写的答题脚本

    我用Ruby Watir库写的一个自动答题脚本,答题准确率在70%左右,学习Watir库练手之用,有兴趣的不妨看看,另外,谁有可以改进答题准确率的点子,望不吝赐教。此脚本可不是用来作弊的哦,用这个来答题,绝对通不过防...

    Ruby-ngxruby是嵌入ruby脚本的Nginx模块

    Ruby-ngxruby模块是Nginx服务器中的一个扩展,它允许开发者使用Ruby语言编写服务器端逻辑,从而增强Nginx的功能。Nginx以其高性能、轻量级的特性被广泛用于处理静态内容和反向代理任务,而通过ngx_ruby模块,Nginx...

    ruby脚本交互.rar

    在"ruby脚本交互.rar"这个压缩包中,包含的可能是一份使用Ruby语言进行脚本交互的易语言源码。易语言是中国自主研发的一种简单易学的编程语言,它允许程序员用自然语言般的语法编写程序。下面我们将深入探讨Ruby脚本...

    Ruby:Ruby模块与包的深入理解与应用

    Ruby:Ruby模块与包的深入理解与应用

    前端学 Ruby:熟悉 Ruby 语法.pdf

    ### 前端学 Ruby:熟悉 Ruby 语法 #### Ruby 是什么? Ruby 是一种动态的、面向对象的脚本语言,由日本人松本行弘在 1995 年设计并开发。作为一种解释型语言,Ruby 具有简单易懂、功能强大且灵活的特点。Ruby 在 ...

    Ruby教程 脚本语言

    2. **面向对象**:Ruby的面向对象更为彻底,几乎所有的元素都是对象,而Python虽然也支持面向对象,但在某些方面如全局变量和函数的处理上,没有Ruby那么面向对象。 3. **性能**:Python通常在执行速度上略胜一筹,...

    游戏脚本语言(ruby初步)

    在游戏脚本编程中, Ruby语言的使用非常广泛,它可以用来创建游戏中的各种元素,如NPC、怪物、道具等。 Ruby语言的基本用法包括变量、数据类型、运算符、控制结构、函数等。 在 Ruby语言中,有多种方式来运行 Ruby...

    Ruby自动化脚本实现网络拓扑映射

    标题、描述及标签均指向了“Ruby自动化脚本实现网络拓扑映射”这一主题,然而,实际的部分内容却似乎与自动化脚本或网络拓扑映射没有直接关联,而更像是一个自动化操作的脚本示例,可能用于模拟鼠标移动和键盘输入,...

    ruby ssh备份远程服务器脚本

    ruby ssh备份远程服务器脚本,主要是学习net/scp这个模块

    红宝石之书:冒险的动手指南The Book Of Ruby: A Hands-On Guide for the Adventurous

    - **变量**:Ruby中的变量不需要声明类型,可以直接赋值使用。 - **数据类型**:包括字符串、整数、浮点数、数组、哈希等。 - **流程控制**:提供if/else语句、循环语句等控制结构。 #### 2.2 函数与方法 - **定义...

    Ruby脚本语言经典教程.pdf

    7. **设计模式与重构**:Ruby社区鼓励使用设计模式来改善代码设计。文档中提及的《重构Ruby版》和《Ruby设计模式》等资源,展示了如何在Ruby中应用设计模式来优化代码结构。 8. **敏捷开发实践**:Ruby和Rails的...

    ruby脚本编辑器.rar

    通过分析和学习这个名为“ruby脚本编辑器”的易语言源码,我们可以了解到如何使用易语言构建具有专业特性的编程工具,并且加深对Ruby编程语言的理解。此外,这样的实践也能提升我们对软件工程、文本处理和用户界面...

    docker-alpine-ruby:基于Alpine Linux的用于ruby的极简Docker镜像

    您可以直接使用Ruby Docker映像来运行Ruby脚本: $ docker run --rm -v " $PWD " :/app coopermaa/alpine-ruby ruby /app/your-daemon-or-script.rb 如何使用onbuild图像 在您的Ruby应用项目中创建一

    rust-vs-ruby:“Rust 与 Ruby”的示例应用程序

    Rust 与 Ruby:构建 API 这是 Rust 与 Ruby:构建 API 博客文章的存储库。 如何运行示例 git clone https://github.com/Sdogruyol/rust-vs-ruby Ruby Ruby版本:2.2.1 Ruby 服务器:瘦 1.6.3 框架:古巴 3.4.0 ...

    redis集群,使用ruby脚本搭建集群

    本教程将深入探讨如何使用 Ruby 脚本搭建 Redis 集群。 首先,了解 Redis 集群的基本概念。Redis 集群是通过数据分片(Sharding)实现的,即将数据分散存储在多个节点上,每个节点负责一部分数据。这种方式能够确保...

    p6df-ruby:Ruby

    p6df-Ruby目录p6df-Ruby徽章概括贡献行为守则变化用法p6df-ruby:p6df-ruby / init.zsh: p6_ruby_prompt_info() p6df :: modules :: ruby​​ :: deps() p6df :: modules :: ruby​​ :: home :: symlink() ...

    ruby程序:ruby selenium Web驱动程序

    Ruby Selenium Web驱动程序是用于自动化Web浏览器操作的强大工具,它允许开发者使用Ruby语言编写脚本来控制浏览器的行为。这个工具主要用于Web应用的测试,但也可以用于其他需要浏览器交互的场景。在Ruby中,...

Global site tag (gtag.js) - Google Analytics