Sign in to follow this  
Followers 0
woodyfly

ControlClick coordinates are way off

9 posts in this topic

The coordinates for controlclick are way off for some reason, It was working fine on win 7.

EG: ControlClick("hello","","","right",1,16,41) will NOT click where I want it to.

If I do MouseClick @ 16,41, it gets it right.

???

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

if you are using the default coordenates system then you should edit your ControlClick() function, because the MouseClick is clicking in the 15,41 of the screen coordenates, and the controlclick in the 16,41 of the control coordenates(This case a window)

I am sure that if you run this you will get the same results as your ControlClick attempt

Opt("MouseCoordMode", 2)
WinActivate("hello")
MouseClick("Left",16,41)
Edited by monoscout999

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Let me rephrase it

ControlClick does not click at the right coordinates (Window coordinates). If I were to test it with MouseClick (window coordinates, mousecoord 0), it clicks right.

If I were to put controlclick 0,0 as coordinates, it doesn't click on the topleft of the window.

Edited by woodyfly

Share this post


Link to post
Share on other sites

Did you try adding the ControlID parameter?

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Did you try adding the ControlID parameter?

No. ControlClick works fine on win 7, there's nothing different in this simply code. Something is messing up the coordinates, I don't know. Will try to reinstall my video drivers

Edited by woodyfly

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

If the problem is only with that window i doubt that the problem are the video drivers, try with notepad

WinActivate("[CLASS:Notepad]","")
ControlClick("[CLASS:Notepad]","","","Right",1,0,100)
 
;~ Opt("MouseCoordMode", 2)
;~ WinActivate("[CLASS:Notepad]","")
;~ sleep(500)
;~ MouseClick("Right",0,100)

There is Child windows inside the Window of your program?

Edited by monoscout999

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

If the problem is only with that window i doubt that the problem are the video drivers, try with notepad

WinActivate("[CLASS:Notepad]","")
ControlClick("[CLASS:Notepad]","","","Right",1,0,100)
 
;~ Opt("MouseCoordMode", 2)
;~ WinActivate("[CLASS:Notepad]","")
;~ sleep(500)
;~ MouseClick("Right",0,100)

There is Child windows inside the Window of your program?

I set the coordinate to 19, 36 which is targetted to clicking "File". It clicked somewhere around the top left area of the typing area.

Edit: Using mousecoordmode 2, it gives the same result as ControlClick. Mousecoord 0 gives the correct window position

Edited by woodyfly

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

ControlClick Uses MouseCoord = 2 relative to the client area if you dont use the controlID parameter... try my example and compare it in notepad, changing the MouseCoord mode

Edited by monoscout999

Share this post


Link to post
Share on other sites

I set the coordinate to 19, 36 which is targetted to clicking "File". It clicked somewhere around the top left area of the typing area.

Edit: Using mousecoordmode 2, it gives the same result as ControlClick. Mousecoord 0 gives the correct window position

You're using the ControlClick command incorrectly. The X and Y parameters are not in relation to the window or the desktop, they are in relation to the Control you're clicking. Also, you are not using the control's id, you're leaving that parameter blank so I'm surprised it works at all. Please reread the help file for how to use ControlClick because you are using it wrong in so many ways.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0