문맥 감지 도움말 -- by Rajat

이 스크립트는 Ctrl+2 (선택에 따라 다른 핫키)를 누르면 선택된 오토핫키 명령어나 키워드에 대한 도움말을 보여줍니다. 아무것도 선택하지 않으면 명령어 이름을 현재 줄의 처음으로부터 추출합니다.

이 스크립트 내려받기  |  다른 샘플 스크립트  |  홈으로

; 아래의 핫키는 (ControlGet이 대부분의 고급 편집기와 작동하지 않기 때문에)
; 가능하면 많은 에디터와의 호환성을 위해 클립보드를 사용합니다.
; 원래 클립보드 내용을 나중에 복구하지만, 평범한 텍스트로 복구합니다.
; 그래도 없는 것보다는 낫습니다.

$^2::
; 다음 값들은 이 핫키의 쓰레드가 존재하는 동안에만 효과가 있습니다.
; 그러므로, 원래 값으로 다시 복구할 필요가 없습니다
; 왜냐하면 쓰레드가 끝나면 자동으로 복구되기 때문입니다:
SetWinDelay 10
SetKeyDelay 0
AutoTrim, On

if A_OSType = WIN32_WINDOWS  ; Windows 9x
    Sleep, 500  ; 사용자에게 키를 뗄 시간을 줍니다.

C_ClipboardPrev = %clipboard%
clipboard =
; 있다면 강조된 단어를 사용합니다.
; (어떤 경우 사용자는 명령어가 아닌 것을 의도적으로 강조할 수 있기 때문입니다):
Send, ^c
ClipWait, 0.1
if ErrorLevel <> 0
{
    ; 편집기는 커서 키를 다르게 취급하기 때문에 전체 줄을 얻습니다:
    Send, {home}+{end}^c
    ClipWait, 0.2
    if ErrorLevel <> 0  ; 거의 없는 경우이므로 에러를 보고하지 않습니다.
    {
        clipboard = %C_ClipboardPrev%
        return
    }
}
C_Cmd = %clipboard%  ; 이것으로 앞뒤의 탭과 & 스페이스가 제거됩니다.
clipboard = %C_ClipboardPrev%  ; 사용자를 위해 원래 클립보드를 복구합니다.
Loop, parse, C_Cmd, %A_Space%`,  ; 첫 번째 스페이스나 쉼표가 명령어의 끝입니다.
{
    C_Cmd = %A_LoopField%
    break ; 즉, 한 번만 반복하면 됩니다.
}
IfWinNotExist, AutoHotkey Help
{
    ; 오토핫키의 위치를 알아냅니다:
    RegRead, ahk_dir, HKEY_LOCAL_MACHINE, SOFTWARE\AutoHotkey, InstallDir
    if ErrorLevel  ; 발견이 안 되면, 다른 위치에서 찾아봅니다.
    {
        if A_AhkPath
            SplitPath, A_AhkPath,, ahk_dir
        else IfExist ..\..\AutoHotkey.chm
            ahk_dir = ..\..
        else IfExist %A_ProgramFiles%\AutoHotkey\AutoHotkey.chm
            ahk_dir = %A_ProgramFiles%\AutoHotkey
        else
        {
            MsgBox 오토핫키 폴더를 발견하지 못했습니다.
            return
        }
    }
    Run %ahk_dir%\AutoHotkey.chm
    WinWait AutoHotkey Help
}
; 위에서 "마지막 발견" 창을 설정했고 그것을 아래에 사용합니다:
WinActivate
WinWaitActive
StringReplace, C_Cmd, C_Cmd, #, {#}
send, !n{home}+{end}%C_Cmd%{enter}
return
선택 | 내려받기