2010-02-28 11 views
11

ja ciągle aktywacji Firefox następnie uderzając Ctrl + L skupić się w pasku adresu i zrobić wyszukiwania lub wpisać adres URL.Jak mogę przekazać przechwycone przez klucz do aplikacji w AutoHotkey

Idealnie mogę być w dowolnej aplikacji i uderzył Ctrl + L i Firefox zostanie aktywowany pasku adresu skoncentrowany i gotowy do wejścia. W krokach wykonywanie skryptów AutoHotkey.

Próbowałem tego i to nie działa. Z tego co czytałem, to tylda „pass-through”:

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

Właśnie znalazłem to około 30 sekund, zanim miałem zamiar wysłać to samo podstawowe pytanie. Dzięki! – asfallows

Odpowiedz

18

skończyło się odpowiedź na ten sam na AHK forum.
Wymaga użycia modyfikatora znaku dolara ($).

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


Z pomocą AutoHotkey:

($) zazwyczaj jest to konieczne tylko wtedy, gdy skrypt używa Wyślij polecenie, aby wysłać klucze, które składają się z samego skrótu, które mogłyby spowodować jego sam się wyzwalać.


A oto pełny skrypt skończyło się używa. Jeśli Firefox jest już aktywny Ctrl + L jest po prostu przepuszczany i zachowuje się jak zwykle. Jeśli poza Firefoxem po naciśnięciu Ctrl + L, to Firefox jest aktywowany i tworzona jest nowa karta; gotowy do wyszukiwania.

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

Nie sądzę tyldy zastosowanie w tym przypadku, ale może wysłać Wyślij klucze szybciej niż w rzeczywistości aktywuje okno, więc coś takiego to może być lepiej:

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