Weed.nagoya:便利ツールでネット活用

「Feel Physics」という物理教育アプリの開発・出前授業をしている会社で、アプリを開発しています

クリップボードを取得するのに、ちょっとひと苦労した

新しい関連記事があります。

リンク: 090627-Win32-Clipboardライブラリが扱えるのはテキスト形式のみ: Non-programmer's Ruby in Pocket.

現状のWin32-Clipboardライブラリはテキスト形式しかサポートしていない模様であることが判明。


クリップボードを取得したくて、るびまを参考に以下のような簡単なコードを書いたが、動かない。

require 'win32/clipboard'
include Win32

puts "The data in clipboad is: " + Clipboard.data

エラーメッセージは以下のとおり。

uninitialized constant Win32::Clipboard::Win32API (NameError)

ネットで調べるとWin32APIをrequireすれば良いことがわかった。そこで以下のように先頭に1行、追加したら、うまく動いた。

require 'Win32API'
require 'win32/clipboard'
include Win32

puts "The data in clipboad is: " + Clipboard.data

cygwin版はWin32APIをrequireしなくても動くのだろうか?ちなみに私が使っているのは「One Click installer」とかいうやつである。

それにしてもエラーメッセージから、すぐにWin32APIが足りないんだなと気づくべきだった。うーむ、修行が足りないな、俺。