diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-26 12:49:25 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-26 12:49:25 +0000 |
commit | 1f9fce063fe800a7954e607c51fb2041237f9e66 (patch) | |
tree | cbdf47ec9619e30997245df89d7158110e31f73e /ext/win32ole | |
parent | 2e400ad1b8a7e424b72bb2841e6a9bef7d6fba1c (diff) |
add sample script using WIN32OLE_EVENT#handler=
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/win32ole')
-rw-r--r-- | ext/win32ole/sample/ienavi2.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/win32ole/sample/ienavi2.rb b/ext/win32ole/sample/ienavi2.rb new file mode 100644 index 0000000000..67977e28ab --- /dev/null +++ b/ext/win32ole/sample/ienavi2.rb @@ -0,0 +1,40 @@ +require 'win32ole' + +class IEHandler + attr_reader :loop + def initialize + @urls = [] + @loop = true + end + def method_missing(event, *args) + case event + when "BeforeNavigate2" + puts "Now Navigate #{args[1]}..." + end + end + def onNavigateComplete2(pdisp, url) + @urls << url + end + def onOnQuit + puts "Now Stop IE..." + @loop = false + end + def put_urls + puts "You Navigated the URLs ..." + @urls.each_with_index do |url, i| + puts "(#{i+1}) #{url}" + end + end +end + +ie = WIN32OLE.new('InternetExplorer.Application') +ie.visible = true +ie.gohome + +ev = WIN32OLE_EVENT.new(ie) +ev.handler = IEHandler.new + +while (ev.handler.loop) + WIN32OLE_EVENT.message_loop +end +ev.handler.put_urls |