From: Philippe Lang Date: 2008-04-22T15:31:37+09:00 Subject: Re: Win32 OLE event sink & Quit Gordon Thiesfeld wrote: > On Mon, Apr 21, 2008 at 12:28 PM, Philippe Lang > wrote: >> Hi, >> >> I'm trying to setup a win32 ole callback that would notify me that >> the application that was launched has quit, in order to release the >> process from memory. >> >> The code I'm playing with looks like: >> >> @@access = WIN32OLE.new('Access.Application') >> @@access.OpenCurrentDatabase(@database) >> >> begin >> >> @@event_sink = WIN32OLE_EVENT.new(@@access, ) >> stop_listening = false >> @@event_sink.on_event("Quit") do |*args| >> puts "Access application has quit!" >> stop_listening = true >> end >> >> WIN32OLE_EVENT.message_loop until stop_listening >> >> rescue Exception => e >> puts e.message >> end >> >> I cannot find any event interface that would notify me that the MS >> Access application has quit. I checked with "Simple OLE Browser", but >> no luck. And most examples regarding WIN32OLE_EVENT are done with >> Internet Explorer. >> >> Does anyone have an idea? >> >> Thanks, >> >> Philippe Lang >> >> > > WMI Events? Here's a VBScript example that will notify when a > process terminates. > > http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx?mfr=t rue Hi, In fact, I'd like to get notified when the MS Access database quits because as long as there is a WIN32OLE object pointing at it, the process does not terminate. So I'm afraid this WMI script (the link does not work by the way) won't help here! Philippe