2022/08/17(水) [n年前の日記]
#2 [ruby][windows] Rubyスクリプトでウインドウサイズを取得したい
Windows10 x64 21H2 + Ruby 1.8.7 p330 i386-mswin32 で、Windows上のウインドウのサイズを取得したい。
win32api を利用して試してみた。
_06_getwindowrect_win32api.rb
ruby 06_getwindowrect_win32api.rb ウインドウハンドル、で実行できる。ウインドウハンドルは10進数で記述。
win32api を利用して試してみた。
_06_getwindowrect_win32api.rb
require "Win32API" if ARGV.size != 1 fn = File.basename(__FILE__) puts "Usage:\n ruby #{fn} WINDOWHANDLE" exit end hwnd = ARGV[0].to_i puts "Window Handle = #{hwnd}" get_window_rect = Win32API.new("user32", "GetWindowRect", "lp", "i") buf = "\0" * 256 get_window_rect.call(hwnd, buf) x0, y0, x1, y1 = buf.unpack("l4") w = x1 - x0 h = y1 - y0 puts "(x0, y0) = (#{x0}, #{y0})" puts "(x1, y1) = (#{x1}, #{y1})" puts "(w, h) = #{w}, #{h}"
ruby 06_getwindowrect_win32api.rb ウインドウハンドル、で実行できる。ウインドウハンドルは10進数で記述。
◎ ウインドウハンドルを調べるツールについて。 :
ウインドウハンドルを調べる作業は、以下のツールを使わせてもらった。
_WinExplorer v1.30
Windows10 x64 21H2上で、WinExplorer 1.30 を利用できた。
あるいは、Spy++ を利用することもできそう。Visual Studio 2019 と一緒に入ってる場合もあるらしい。
_spy++を使ってクラス名を調べる方法 | 自動マクロプログラミング
_【Visual Studio 2019】Spy++の場所 - buralog
_WinExplorer v1.30
Windows10 x64 21H2上で、WinExplorer 1.30 を利用できた。
あるいは、Spy++ を利用することもできそう。Visual Studio 2019 と一緒に入ってる場合もあるらしい。
_spy++を使ってクラス名を調べる方法 | 自動マクロプログラミング
_【Visual Studio 2019】Spy++の場所 - buralog
[ ツッコむ ]
以上です。