%20los%20nombres%20de%20un%20control%20de%20una%20ventana%2Faplicaci%C3%B3n%20espec%C3%ADfica%20usando%20Autohotkey%3F.png)
Quiero saber si es posible copiar (recuperar) los nombres de un control de una ventana o aplicación específica usando AutoHotkey.
Por ejemplo, la calculadora se abre en mi pantalla y ahora quiero eso:
cuando presiono f1la tecla de acceso rápido, debería copiar el nombre del menú de la calculadora, es decir, Ver, Editar y Ayuda y
cuando presiono f2la tecla de acceso rápido, debería pegar o enviar el nombre de estos controles, es decir, Ver, Editar y Ayuda.
De manera similar, quiero copiar los nombres de las opciones en el menú Ver de la calculadora. Para esto, quiero que cuando lo presione f3copie las opciones del menú de vista, es decir, 'Estándar', 'Científico', 'Programador', etc.
cuando presiono f4debería pegar o enviar las opciones del menú ver.
¿Es posible hacer eso?
Mira esta instantánea:
Respuesta1
Si bien es posible obtener el contenido de un menú desde una aplicación como la Calculadora de Windows, cualquier código comparable que pueda localizar es enorme y sería difícil, si no imposible, de modificar o mantener para la mayoría. Por ello propongo una opción más sencilla.
En primer lugar, los menús de opciones para dicha aplicación no se pueden cambiar, por lo que vincular teclas para copiarlos sobre la marcha parece excesivo. En cambio, podemos configurarlos una vez en AHK para su recuperación.
Un MsgBox puede lograr esto como se muestra a continuación:
El código utilizado para esto:
F4::
MyMenu =
(
=================
Calculator Menu
=================
Standard`t`tAlt+1
Scientific`t`tAlt+2
Programmer`tAlt+3
Statistics`t`tAlt+4
-----------------
History`t`tCtrl+H
Digit grouping
-----------------
Basic`t`tCtrl+F4
Unit conversion`tCtrl+U
Date calculation`tCtrl+E
Worksheets
)
MsgBox, 4160, Calculator Menu, %MyMenu%
La "`t" es para tabulación, lo que permite algún tipo de alineación de texto dentro de un MsgBox.
De lo contrario, puede vincular F4 (o lo que sea) para generar un menú de texto equivalente. Este:
F4::
SendInput `
(
=================
Calculator Menu
=================
Standard`t`tAlt{+}1
Scientific`t`tAlt{+}2
Programmer`t`tAlt{+}3
Statistics`t`tAlt{+}4
-----------------
History`t`t`tCtrl{+}H
Digit grouping
-----------------
Basic`t`t`tCtrl{+}F4
Unit conversion`t`tCtrl{+}U
Date calculation`tCtrl{+}E
Worksheets
)
return
Te consigue esto: