2010-02-28 6 views
11

Estoy constantemente la activación de Firefox después de golpear Ctrl +L para enfocar la barra de direcciones y hacer una búsqueda o escribir una dirección URL.Como puedo pasar la llave interceptado a través de una aplicación en autohotkey

Lo ideal sería que puede estar en cualquier aplicación y pulsa Ctrl + L y Firefox se activará con la barra de direcciones centrado y listo para la entrada. En los pasos de AutoHotkey scripting.

He intentado esto y parece que no funciona. Por lo que he leído, es tilde de la "transferencia":

^l:: 
IfWinExist ahk_class MozillaUIWindowClass 
{ 
    WinActivate 
    Send ~^l 
} 
+0

Acabo de encontrar esto unos 30 segundos antes de que fuera a publicar la misma pregunta básica. ¡Gracias! – asfallows

Respuesta

18

terminó recibiendo la respuesta a esta pregunta a mí mismo en la AHK forum.
Requiere el uso del modificador de signo de dólar ($).

$^l:: 
IfWinExist ahk_class MozillaUIWindowClass 
{ 
    WinActivate 
    Send ^l 
} 


De AutoHotkey ayuda:

($) Esto es por lo general sólo es necesario si la secuencia de comandos utiliza el comando Enviar para enviar las teclas que componen la tecla de acceso directo en sí, que de otro modo podrían hacer que se dispararse a sí mismo.


Y aquí está el guión completo Terminé usando. Si Firefox ya está activo, Ctrl + L simplemente se transfiere y se comporta como siempre. Si está fuera de Firefox cuando se presiona Ctrl + L, Firefox se activa y se crea una nueva pestaña; listo para buscar

$^l:: 
IfWinExist ahk_class MozillaUIWindowClass 
{ 
    IfWinActive ahk_class MozillaUIWindowClass 
    { 
    Send ^l 
    } 
    else 
    { 
    WinActivate 
    Send ^t 
    } 
} 
0

No creo que la tilde se aplica en este caso, sino que envían podría enviar las claves más rápido que la ventana activa en realidad, así que algo como esto podría ser mejor:

SetKeyDelay, 10, 10 ; adds 10ms delay between and during keystrokes 
IfWinExist, ahk_class MozillaUIWindowClass 
{ 
    WinActivate, 
    WinWaitActive, ; waits until window is active 
    Send, ^l 
} 
return 
Cuestiones relacionadas