AutoHotkey IfWinTitle no funciona


1

Quiero:

  z::6
  x::7
  c::8

pero solo si estoy jugando Oblivion (nombre de la ventana: Oblivion)

Pero ahora mismo, no importa cómo lo codifique, siempre se aplica a otras ventanas, no solo a Oblivion. Así que tengo que hacer clic en "Suspender teclas de acceso rápido" cada vez que Alt + Lengüeta a Chrome, así que no escribo accidentalmente 6 7 8 en lugar de z x c. Es muy molesto. He intentado tantas cosas, ni siquiera me voy a molestar en publicar el código.

Por favor, no me diga a RTFM o busque en línea, porque ya lo he hecho durante muchos meses;)


Puede que no te ayude a publicar el código, pero podría ayudar a otros a comprender completamente lo que quieres.
Jesper Jensen

Respuestas:


1

Pensaría que después de "muchos meses" en la documentación podría haber encontrado esto ... aunque no diré "RTFM" :)

Intenta usar el #IfWinActive command . Esto permite que todas las teclas de acceso rápido debajo de él sean sensibles al contexto.

SetTitleMatchMode, 2

#IfWinActive, Oblivion
  z::6
  x::7
  c::8

0

En lugar de utilizar la función de reasignación, intente hacerlo así:

z::
    WinWait, Oblivion, 
    IfWinNotActive, Oblivion, , Oblivion, 
    WinWaitActive, Oblivion, 

    Send, {6 down}{6 up}
return

Este código parece muy peculiar. Aparte del dudoso formato, ¿qué pasa con todos los Win... comandos? 1) IfWinNotActive, Oblivion, , Oblivion será Nunca ser verdad, ya que define el mismo valor para WinTitle y ExcludeTitle, que se anulan entre sí. 2) Supongo que desea que el script espere hasta que Oblivion esté activo (un simple WinWaitActive, Oblivion bastaría para ello). Consecuentemente, cuando un usuario presiona z y no está activa, la tecla de acceso rápido esperará la ventana (por ejemplo, durante varias horas) y luego enviará 6, eso no puede ser deseable.
MCL

El actual z Siempre estará bloqueado, pase lo que pase. Y por cierto: Send, {6 down}{6 up} es lo mismo que Send, 6 o Send, {6} respectivamente.
MCL
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.