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

 

 

 

 

 

 

發佈了112 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章