Ruby/DLでWindowsのMessageBoxを呼び出す

Ruby/DLは標準ライブラリに含まれます。

以下のバージョンで動作を確認しました。

# for 1.9.x
require 'dl/import'

module Win32
  extend DL::Importer
  dlload 'User32'
  extern 'int MessageBoxA(int, char*, char*, int)'
end

p Win32.MessageBoxA(0, "Msssage\nOK?", "title", 0)

※なお、dl/importは1.8系と1.9系で異なるみたいなので注意が必要です。

JRubyでもWindowsのDLLを普通に呼べるのには驚きました。
これならなんでもできちゃいますネ。