¿Como saber si CapsLock esta activado?

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.
User avatar
codeassault
Posts: 4
Joined: 15 May 2018, 14:01

¿Como saber si CapsLock esta activado?

17 May 2018, 15:19

Hola otra vez! Tengo otro problema.

Lo que pasa es que he creado un script para automatizar la entrada a un programa, este programa esta escrito en Cobol ( no hay emoticono de dinosaurio :roll: ), por lo tanto hace uso de MS-DOS. Este programa es Case Sensitive y necesito al momento de ingresar que la Mayuscula se active, si bien funciona obviamente cuando la Mayuscula esta desactivada, no asi cuando la Mayuscula ya se encuentra activa, por ende el flujo del script no continua.
¿Existira alguna manera de guardar en una variable el estado de CapsLock?

Aca el codigo:

Code: Select all

Run, c:\Users\Hp\Desktop\Repuestos.lnk ;aca inicio el programa que sen encuentra en el escritorio
WinWaitActive, Repuestos; espero que la ventana se active
;WinMove,  Repuestos, , 204, 188; muevo la ventana al centro supustamente (Tengo TOC de simetria)
SetCapsLockState, On; pongo CapsLock encendido (En este punto necesito verificar si CapsLock esta activado)
Sleep, 1000
Send, VH4 {Enter}
Send, 1 {Enter}
Send, {Enter 5}
Send, 456 {Enter}
WinWaitClose, Repuestos
SetCapsLockState, Off
ExitApp
Espero me puedan ayudar con este problema que traigo hoy. De antemano Muchas Gracias!
User avatar
Flipeador
Posts: 1018
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: ¿Como saber si CapsLock esta activado?

17 May 2018, 16:06

Prueba con MsgBox % GetKeyState("CapsLock", "T").
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library
User avatar
codeassault
Posts: 4
Joined: 15 May 2018, 14:01

Re: ¿Como saber si CapsLock esta activado?

17 May 2018, 16:56

Gracias Flipeador!
Pero parece que formule mal la pregunta!

Lo que realmente necesito hacer es que si "Bloq Mayus" esta activada la deje como esta y siga ejecutando el script, y en el caso de que "Bloq Mayus" este desactivada obviamente la active y siga corriendo el script!

Algo asi:

Ejecutar programa
Verificar si "Bloq Mayus" esta activado o no
Si esta activada, seguir ejecutando el script
Si no esta activada, activar "Bloq Mayus" y seguir con el script

(No recuerdo como seria en pseudocodigo, pero ojala que se entienda la idea)
User avatar
Flipeador
Posts: 1018
Joined: 15 Nov 2014, 21:31
GitHub: Flipeador
Location: Argentina
Contact:

Re: ¿Como saber si CapsLock esta activado?

19 May 2018, 07:26

Hola, con el código que te pasé puedes determinar si Bloq Mayús esta activado o no, simplemente úsalo en un If.
Lo que no entiendo es porqué necesitas verificar si esta activada o no, ¿por qué no puedes simplemente activarla sin comprobar el estado actual?, si no está activada se activará, y si ya se encuentra activada pues, se quedará activada...

Code: Select all

If (!GetKeyState("CapsLock", "T"))
    SetCapsLockState On
Windws 1♂ Pro 64-Bits I make scripts for AHKv2 (my v2 compiler) & WIN_7+ Spanish Argentina SublimeText 3 & AHKv2 My GDI+ Library

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 1 guest