2007年06月16日

Rubyでデスクトップアイコンを小さくする

こんな感じでどうだろうか?


require 'Win32API'

GWL_STYLE = -16
LVS_SMALLICON = 2

FindWindow = Win32API.new("user32","FindWindow","pp","i")
FindWindowEx = Win32API.new("user32","FindWindowEx","iipi", "i")
GetWindowLong = Win32API.new("user32","GetWindowLong","ii","i")
SetWindowLong = Win32API.new("user32","SetWindowLong","iii","i")

hwnd = FindWindow.call("Progman","Program Manager")
hwnd = FindWindowEx.call(hwnd, 0, "SHELLDLL_DefView", 0)
hwnd = FindWindowEx.call(hwnd, 0, "SysListView32", 0)

abort if hwnd == 0

oldstyle = GetWindowLong.call(hwnd, GWL_STYLE)

if (oldstyle & LVS_SMALLICON) == LVS_SMALLICON then
SetWindowLong.call(hwnd, GWL_STYLE, oldstyle & (~ LVS_SMALLICON))
else
SetWindowLong.call(hwnd, GWL_STYLE, oldstyle | LVS_SMALLICON)
end
タグ:ruby
posted by mypc at 22:42| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/4400391

この記事へのトラックバック