[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Setting the mouse position

User

12/27/2005 1:41:00 PM

Hi,

How can I set the mouse position? So change the mouse to a specified
(x,y) on the screen?

Also,

How can I get the location of a window on the screen of which I know the
title?

Thanks.

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


1 Answer

Ryan Leavengood

12/27/2005 5:55:00 PM

0

I assume you are asking about Microsoft Windows. This is a very
specific question which is more related to Windows programming and the
Windows API than Ruby programming. But nonetheless:

1. To set the mouse position you need the SetCursorPos function, which
you can access from Ruby like so:

require 'Win32API'

setCursorPos = Win32API.new("user32", "SetCursorPos", ['I','I'], 'V')
setCursorPos.Call(100,100)

2. To get the location of a Window whose title you know, do the following:

require 'Win32API'

findWindow = Win32API.new("user32", "FindWindow", ['P','P'], 'L')
getClientRect = Win32API.new("user32", "GetClientRect", ['P','P'], 'V')
hwnd = findWindow.Call(nil, 'name of window here')
lpRect = " " * 16 # Four LONGs
getClientRect.Call(hwnd, lpRect)
left, top, right, bottom = lpRect.unpack('LLLL')
puts "Left: #{left}, Top: #{top}, Right: #{right}, Bottom: #{bottom}"

Ryan

On 12/27/05, Gues <guest@guest.com> wrote:
> Hi,
>
> How can I set the mouse position? So change the mouse to a specified
> (x,y) on the screen?
>
> Also,
>
> How can I get the location of a window on the screen of which I know the
> title?
>
> Thanks.