From 1f9fce063fe800a7954e607c51fb2041237f9e66 Mon Sep 17 00:00:00 2001 From: suke Date: Sat, 26 Jul 2008 12:49:25 +0000 Subject: add sample script using WIN32OLE_EVENT#handler= git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/win32ole/sample/ienavi2.rb | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ext/win32ole/sample/ienavi2.rb (limited to 'ext/win32ole/sample') 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 -- cgit v1.2.3