2010-02-28 2 views
11

나는 항상 다음 위치 표시 줄을 집중하고 검색을 수행하거나 URL을 입력 Ctrl 키 + L 타격 파이어 폭스를 활성화하고있어에서 응용 프로그램을 통해 차단 키를 전달할 수 있습니다. 어떻게 AutoHotkey를

은 이상적으로는 모든 응용 프로그램에하고 Ctrl 키 + L을 명중하고 파이어 폭스는 초점을 맞추고 입력을위한 준비가 위치 표시 줄에 활성화됩니다 수 있습니다. AutoHotkey 스크립팅 단계.

저는 이것을 시도했지만 제대로 작동하지 않습니다. 내가 읽은 바로는, 물결은 "통과 (pass-through)"입니다 :

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

동일한 기본 질문을 게시하기 전에 약 30 초 만에 발견되었습니다. 감사! – asfallows

답변

18

AHK forum에 대한 답변을 얻은 것으로 끝났습니다.
달러 기호 한정자 ($)를 사용해야합니다. 그렇지 않은 경우에 발생할 수 있습니다 스크립트가 핫키 자체를 구성하는 키를 보낼 보내기 명령을 사용하는 경우

($)가이 보통 필요하다 : AutoHotkey를 도움말에서

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


스스로를 방아쇠를 당긴


다음은 전체 사용 스크립트입니다. Firefox가 이미 활성화되어있는 경우 Ctrl + L은 단순히 통과되고 평소대로 동작합니다. Firefox 외부에서 Ctrl + L을 누르면 Firefox가 활성화되고 새 탭이 만들어집니다. 검색 준비.

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

나는 물결이 인스턴스에 적용 생각하지만, 윈도우가 실제로 활성화보다 빠르게 키를 보낼 수 보내기, 그래서 같은 것을하지 않는다 더 좋을 수도 있습니다 :

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