`

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()

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics