Andrew1983

ControlClick function returns 1 but doesn't click control

4 posts in this topic

Dear all,

I am encountering a strange problem when clicking a control.

The controclick() function returns 1, but doesn't perform the click.

Here is a snippet of my code :

#include <MsgBoxConstants.au3>
#include <File.au3>
#include <AutoItConstants.au3>
#include <GUIConstants.au3>
#include <string.au3>
#include <array.au3>
#include <WinAPI.au3>

Opt("WinTitleMatchMode", 4)

ConsoleWrite("Make your window active!" & @CRLF)
Sleep(5000)

$hControl = ControlGetHandle(WinGetHandle("[ACTIVE]"), "", "[CLASSNN:WindowsForms10.BUTTON.app.0.33c0d9d5; TEXT:New; INSTANCE:5]")
$sControlID = _WinAPI_GetDlgCtrlID($hControl)
Local $result = ControlClick("Window","",$sControlID)
ConsoleWrite ($result)

Any ideas as to why this is happening ??

Best wishes,

Andrew

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

#include <MsgBoxConstants.au3>
#include <File.au3>
#include <AutoItConstants.au3>
#include <GUIConstants.au3>
#include <string.au3>
#include <array.au3>
#include <WinAPI.au3>

#RequireAdmin

ConsoleWrite("Make your window active!" & @CRLF)
Sleep(5000)

$result=ControlClick(WinGetHandle("[ACTIVE]"), "", "WindowsForms10.BUTTON.app.0.33c0d9d55")
ConsoleWrite ($result)

try something like that.

Saludos

Edited by Danyfirex

Share this post


Link to post
Share on other sites

What do you get if you use a different mode for WinTitleMatchMode other than 4? Not sure what 4 is supposed to do so that might be part of your problem.


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

#4 ·  Posted (edited)

Some time ago I was  dealing  with some Net Controls and I wrote this simple funtion. I hope it helps.

_NetControlClick($hWindow, "BUTTON", 5) ;this should work for you

Func _NetControlClick($hWindow, $sControlType, $IDNumber)
    Local $sClassName = _WinAPI_GetClassName($hWindow)
    Local $sApp = StringMid($sClassName, StringInStr($sClassName, ".app"))
    $sClassName = StringMid($sClassName, 1, StringInStr($sClassName, "."))
    Return ControlClick($hWindow, "", $sClassName & $sControlType & $sApp & $IDNumber)
EndFunc   ;==>_NetControlClick

Saludos

Edited by Danyfirex
1 person likes this

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