Processes threads and Windows 7

I had a program that used a process thread to press an OK button on a
popup

require 'win32/process'
require 'autoit'
@popup_handler_pid = Process.fork
if @popup_handler_pid == nil # Child process
   require 'win32ole';
   autoit = WIN32OLE.new('AutoItX3.Control');
   while true
      while autoit.WinExists("Message from webpage") == 0
   sleep 0.1;
      end;
      autoit.Send('{ENTER}');
   end
end

The problem occurs when I try and kill the process

Process.kill(1, @popup_handler_pid)

Trace
c:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.1/lib/win32/process.rb:182:in
`
kill': undefined method `CreateRemoteThread' for Process:Module
(NoMethodError)
        from
c:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.1/lib/win32/proces
s.rb:132:in `each'
        from
c:/ruby/lib/ruby/gems/1.8/gems/win32-process-0.5.1/lib/win32/proces
s.rb:132:in `kill'
        from C:/MyProg.rb:136

···

---

Win 7 required a new version of windows-pr, which needed a new versions
of win32-api, test-unit, windows-api

Unfortunately win32-api uses or is dependent on nmake which I dont have
so I installed win32-api-1.4.5-x86-mswin32-60. The binary needed no
nmake.

Well the upshot was they all installed and appeared to be happy. The
task creates and works, but when you try and kill it - the libarary
appears to make calls internally that result in a failure.

It all runs fine with the older windows-pr on XP

Paul

--
Posted via http://www.ruby-forum.com/.

Unfortunately win32-api uses or is dependent on nmake which I dont have
so I installed win32-api-1.4.5-x86-mswin32-60. The binary needed no
nmake.

Maybe use a mingw build and reinstall all those gems?

···

--
Posted via http://www.ruby-forum.com/\.