Forum: Ruby Mouse click with win32api

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Emil S. (Guest)
on 2007-03-14 14:46
Hi,
I would like to write a script like this:

mouse.move_cursor_to( x, y )
mouse.click_left_button()

I have read that I can use AutoIt, but that the program has to have an
ole interface for it to be possible. That autoit doesn't really move the
mouse cursor, but rather tells the program to click a certain
coordinate.

Is it possible to do this using win32api instead of autoIt, or is there
another neat way of acheive it?

Regards
Emil
Emil S. (Guest)
on 2007-03-14 14:55
Emil S. wrote:
> Hi,
> I would like to write a script like this:
>
> mouse.move_cursor_to( x, y )
> mouse.click_left_button()
>
> I have read that I can use AutoIt, but that the program has to have an
> ole interface for it to be possible. That autoit doesn't really move the
> mouse cursor, but rather tells the program to click a certain
> coordinate.
>
> Is it possible to do this using win32api instead of autoIt, or is there
> another neat way of acheive it?
>
> Regards
> Emil

Sorry, I was to fast to create a post.
AutoIt seems to do the trick for me:

gem install watir
regsvr32 C:\ruby\lib\ruby\gems\1.8\gems\watir-1.4.1\watir\AutoItX3.dll
irb
require 'rubygems'
require 'win32ole'
a = WIN32OLE.new("AutoItX3.Control")
a.mousemove(100, 100)
a.mouseclick
Victor "Zverok" Shepelev (Guest)
on 2007-03-14 15:01
(Received via mailing list)
From: removed_email_address@domain.invalid 
[mailto:removed_email_address@domain.invalid] On Behalf
Of
Emil S.
Sent: Wednesday, March 14, 2007 2:46 PM
>coordinate.
>
>Is it possible to do this using win32api instead of autoIt, or is there
>another neat way of acheive it?

There is simple cpp code attached (as well as extconf for it).
It is compiled into extension, having module Rwin32::Emulate with
methods
mouse_down!, mouse_up!, key_down!, key_up!

It can be used as is, or as a learning material of "how to do this". Any
questions are welcome. If somebody wants to do something more
full-featured
on this basis, he is welcome too.

V.
This topic is locked and can not be replied to.