在下面这篇博客里,我使用C#,写了一个命令,可以快捷的切换鼠标左右手习惯。
使用C#: 自动切换鼠标的左右手习惯
?
今天到了一个新环境,想用下这个命令,
却一时找不到编译好的文件,手头有没有visual studio的环境,
于是索性用Ruby将其重写,
原理一样, 都是调用win32 api修改左右收习惯,并修改注册表。
修改注册表的目的是,当电脑重启的时候, 我们的设置也依然有效。
?
Ruby脚本如下:
class="ruby" name="code">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()
?
?
?
?
?
?