Como hacer que funcione "ControlClick" Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

Archa

Como hacer que funcione "ControlClick"  Topic is solved

13 Sep 2022, 22:46

Buenos días,

Code: Select all

;Esto funciona
MouseMove, 1482, 66
Send {LButton}
ControlSetText, Edit1, %A_ScriptDir%, This PC

Code: Select all

;Esto no
ControlClick, Edit1, This PC,,,, NA
ControlClick, x1482 y66, This PC
ControlClick, Edit1, This PC,,,, NA x1482 y66
ControlSetText, Edit1, %A_ScriptDir%, This PC
¿Necesito poner algo más para que funcione "ControlClick" o directamente no funciona?
User avatar
ositoMalvado
Posts: 183
Joined: 24 Dec 2019, 12:02
Contact:

Re: Como hacer que funcione "ControlClick"

14 Sep 2022, 08:04

Hola, por favor publica el código entero en el cual trabajas, con esto no se puede ayudar mucho
My WEB some useful stuff
Archa

Re: Como hacer que funcione "ControlClick"

14 Sep 2022, 23:50

ositoMalvado wrote:
14 Sep 2022, 08:04
Hola, por favor publica el código entero en el cual trabajas, con esto no se puede ayudar mucho
La verdad es que no hay mucho más código.
Mi objetivo es simple: Un script que escriba una ruta o dirección (%A_ScriptDir%) en el cajón o cuadrado de rutas (Edit1 --> obtenido con WindowSpy) de una carpeta de windows, usando "ControlClick". Escogí para el ejemplo la capeta de "This PC" porque es la que tengo en el Desktop más a mano. Mi script se encuentra en el Desktop o Escritorio.
https://gyazo.com/7a79598885241fd57e2e970ce029bf5c ---> imagen explicativa

Code: Select all

;Script que si funciona, pero usando MouseMove
Numpad1::
Run, This PC, %A_ScriptDir%, max
Winwait, This PC
/*
ControlClick, Edit1, This PC,,,, NA ;este no funciona
ControlClick, x1482 y66, This PC ;este no funciona
ControlClick, Edit1, This PC,,,, NA x1482 y66 ;este no funciona
*/
MouseMove, 1482, 66
Send {LButton}
ControlSetText, Edit1, %A_ScriptDir%, This PC
Send {Enter}
return

;Script que no funciona, y quiero saber el motivo de porque no funciona o como arreglarlo, usando ControlClick
Numpad1::
Run, This PC, %A_ScriptDir%, max
Winwait, This PC
ControlClick, Edit1, This PC,,,, NA ;este no funciona
ControlClick, x1482 y66, This PC ;este no funciona
ControlClick, Edit1, This PC,,,, NA x1482 y66 ;este no funciona
/*
MouseMove, 1482, 66
Send {LButton}
*/
ControlSetText, Edit1, %A_ScriptDir%, This PC
Send {Enter}
return
[Mod edit: [code][/code] tags added.]
Lepes
Posts: 141
Joined: 06 May 2021, 07:32
Location: Spain

Re: Como hacer que funcione "ControlClick"

15 Sep 2022, 02:42

No lo acabo de entender, seguro, porque es mucho más fácil hacer esto:

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


Run, %A_ScriptDir%
Run, c:\
Run, %A_Desktop%
Run, "C:\Program Files"   ; una carpeta con espacios le metemos dobles comillas.
Igual quieres reutilizar una ventana ya abierta y estás haciendo pruebas, o por desconocimiento eliges el camino más difícil, o igual es que solo muestras parte de un proceso más largo. Por todo esto digo que no acabo de entender lo que quieres hacer. Si afinas un poco más dando detalles exactos, a lo mejor entre todos podemos afinar más.


Edito:
Alternativamente, he encontrado esta forma de hacerlo:

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


Run, %A_ScriptDir%
sleep, 1000 ; es una ventana de sistema y espero a que se cree, ajusta este tiempo.
Send, ^l    ;Enviar CTRL + L edita la dirección de la carpeta
Send, c:\  ;cambio el texto, aqui pones la carpeta que quieres abrir
Send, {Enter}   ;enviamos un intro para que vaya a la nueva carpeta
Saludos!
Archa

Re: Como hacer que funcione "ControlClick"

16 Sep 2022, 03:19

Lepes wrote:
15 Sep 2022, 02:42
No lo acabo de entender, seguro, porque es mucho más fácil hacer esto:

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


Run, %A_ScriptDir%
Run, c:\
Run, %A_Desktop%
Run, "C:\Program Files"   ; una carpeta con espacios le metemos dobles comillas.
Igual quieres reutilizar una ventana ya abierta y estás haciendo pruebas, o por desconocimiento eliges el camino más difícil, o igual es que solo muestras parte de un proceso más largo. Por todo esto digo que no acabo de entender lo que quieres hacer. Si afinas un poco más dando detalles exactos, a lo mejor entre todos podemos afinar más.


Edito:
Alternativamente, he encontrado esta forma de hacerlo:

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


Run, %A_ScriptDir%
sleep, 1000 ; es una ventana de sistema y espero a que se cree, ajusta este tiempo.
Send, ^l    ;Enviar CTRL + L edita la dirección de la carpeta
Send, c:\  ;cambio el texto, aqui pones la carpeta que quieres abrir
Send, {Enter}   ;enviamos un intro para que vaya a la nueva carpeta
Saludos!
Solo quería un programa funcional usando "ControlClick" en una ventana, porque a mi esa instrucción no me funciona.
Y no se si es que directamente no le funciona a nadie o a mi no me funciona porque no escribo bien el script o porque me falta algo por poner para que funcione.
Si alguien puede compartir un script funcional que use "ControlClick" correctamente, podría salir de dudas.
Lepes
Posts: 141
Joined: 06 May 2021, 07:32
Location: Spain

Re: Como hacer que funcione "ControlClick"

16 Sep 2022, 06:06

Code: Select all

Run, explore %A_ScriptDir%, max
sleep, 1000
ControlClick, x415 y397, varios,, LEFT, 1
Esto funciona.
La carpeta que se abre se llama "varios" donde está el script guardado.
Las coordenadas son desde la esquina superior izquierda de la ventana del explorador y es donde salen los ficheros.
Al ejecutar el script:
- Se abre la carpeta (sin maximizarse, no sé por qué)
- Se selecciona uno de los ficheros (porque da clic encima del nombre).
- El ratón no se mueve para nada, puede estar incluso fuera del explorador de archivos y de hecho, ese comportamiento me resultó "raro" cuando ejecuté el script, precisamente porque da clic en un sitio donde no está el puntero del ratón.

Si estás abriendo una carpeta %A_ScriptDir% la ventana del explorador cambia su título y ya no es "This PC", será el nombre que tenga dicha carpeta. Me parece ese es un error en tu script, o tienes un windows diferente, yo uso el Win 8.1.
He observado las coordenadas y la "y62" en mi explorador corresponde a la barra de herramientas de la ventana, no a la caja donde escribes. Esas coordenadas las has pillado en modo Window ¿verdad? Porque si las obtenido con el Window Spy, tienes 3 modos: Screen, Window, Client y con coordenadas diferentes.
kintar0e
Posts: 41
Joined: 05 Mar 2019, 07:32

Re: Como hacer que funcione "ControlClick"

16 Sep 2022, 10:59

Code: Select all

F1::
	run explorer.exe
	WinWaitActive,ahk_class CabinetWClass ; Explorador de archivos
	Sleep, 500
	ControlClick, ToolbarWindow323, ahk_class CabinetWClass ;Explorador de archivos 
	Sleep,100
	ControlSetText, Edit1, % A_ScriptDir, ahk_class CabinetWClass
	Sleep,100
	Send, {Enter}
Return
Archa

Re: Como hacer que funcione "ControlClick"

17 Sep 2022, 02:30

kintar0e wrote:
16 Sep 2022, 10:59

Code: Select all

F1::
	run explorer.exe
	WinWaitActive,ahk_class CabinetWClass ; Explorador de archivos
	Sleep, 500
	ControlClick, ToolbarWindow323, ahk_class CabinetWClass ;Explorador de archivos 
	Sleep,100
	ControlSetText, Edit1, % A_ScriptDir, ahk_class CabinetWClass
	Sleep,100
	Send, {Enter}
Return
Ok, kintar0e ha dado en el clavo. ¿Cómo has hecho para obtener la palabra "ToolbarWindow323"? Porque a mi en WindowSpy en ClassNN me sale Edit1.
kintar0e
Posts: 41
Joined: 05 Mar 2019, 07:32

Re: Como hacer que funcione "ControlClick"

17 Sep 2022, 11:38

Use una alternativa al "window spy" que a veces uso que es el AHK Window Info 1.7 lo puedes encontrar en el siguiente link
https://www.autohotkey.com/board/topic/8204-ahk-window-info-17/page-6

el codigo de este tool esta en el boton spoiler del usuario lblb.
:wave: :beer:
Archa

Re: Como hacer que funcione "ControlClick"

18 Sep 2022, 02:06

Sublime. Muchas gracias a todos por vuestra ayuda y vuestro tiempo, sois unos cracks ;)

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 2 guests