</head> <body> <h1>Hotkey</h1> <p>스크립트가 실행되는 동안에 핫키를 만들고, 변경하고, 켜고 끕니다.</p> <pre class="Syntax"> <span class="func">Hotkey</span>, KeyName <span class="optional">, Label, Options</span> <span class="func">Hotkey</span>, IfWinActive/Exist <span class="optional">, WinTitle, WinText</span> <span class="func">Hotkey</span>, If <span class="optional">, Expression</span> <span class="func">Hotkey</span>, If, % FunctionObject </pre> <h2 id="Parameters">매개변수</h2> <dl> <dt>KeyName</dt> <dd><p>핫키 활성화 키의 이름, <a href="../Hotkeys.htm#Symbols">수식 심볼</a>을 포함. 예를 들어, <kbd>Win</kbd>+<kbd>C</kbd> 핫키라면 <code>#c</code>를 지정합니다.</p> <p><em>KeyName</em>이 이미 핫키로 존재하면, 그 핫키는 그 명령어의 다른 매개변수들의 값을 가지고 갱신됩니다.</p> <p><em>KeyName</em>은 기존의 핫키 라벨의 이름이 될 수도 있습니다 (즉, 겹-쌍점 라벨). 그런 경우 핫키는 그 명령어의 다른 매개변수들의 값을 가지고 갱신됩니다.</p> <p><em>기존의 핫키</em>를 지정할 때, <em>KeyName</em>은 대소문자를 구분하지 않습니다. 그렇지만, 키의 이름은 반드시 기존의 핫키와 철자가 같아야 합니다 (예,. 이런 목적으로 Esc는 Escape와 같지 않습니다). 또, ^!+#와 같은 <a href="../Hotkeys.htm#Symbols">수식 심볼</a> 순서는 문제가 되지 않습니다. <a href="GetKey.htm">GetKeyName()</a>을 사용하면 키 이름의 표준 철자를 열람할 수 있습니다.</p> <p>핫키가 처음 만들어질 때 -- Hotkey 명령어 또는 <a href="../Hotkeys.htm">겹-쌍점 라벨</a>을 사용하여 -- 그의 키 이름과 그의 수식 심볼의 순서는 그 핫키의 영구한 이름이 되어 <a href="../Variables.htm#ThisHotkey">A_ThisHotkey</a>에 반영됩니다. 이 이름은 그 핫키의 모든 <a href="_IfWinActive.htm#variant">변형</a>이 공유하고, 바뀌지 않습니다. 나중에 Hotkey 명령어가 그 핫키에 다른 심볼 순서를 가지고 접근해도 마찬가지입니다.</p> <p><span class="ver">[v1.1.15+]:</span> 핫키 변형이 이미 존재하면, 그의 행위는 <em>KeyName</em>에 <a href="../Hotkeys.htm#Tilde">틸드 (~) 접두사</a>가 있는가 없는가에 맞게 갱신됩니다. 그렇지만, <span class="ver">[v1.1.19]</span> 이전에서, 핫키는 <em>Label</em>이 생략되면 갱신되지 않았습니다.</p> <p><span class="ver">[v1.1.19+]:</span> <a href="../Hotkeys.htm#prefixdollar">갈고리 사용 ($) 접두 심볼</a>을 기존의 핫키에 추가할 수 있습니다. 이 접두 심볼은 핫키의 모든 변형에 영향을 주며 제거가 불가능합니다. <span class="ver">[v1.1.19]</span>이전에서, 기존 핫키의 변형을 변경할 때 이 접두 심볼은 무시되었습니다.</p> </dd> <dt>Label</dt> <dd><p>핫키가 눌릴 때 그의 내용이 (새로운 <a href="../misc/Threads.htm">쓰레드</a>로) 실행될 <a href="../misc/Labels.htm">라벨</a>의 이름. Both normal labels and <a href="../Hotkeys.htm">hotkey</a>/<a href="../Hotstrings.htm">hotstring</a> labels can be used, but if the script contains multiple labels with the same name, only the first can be used. 뒤에 따라오는 쌍점은 포함하면 안됩니다. <em>Label</em>이 동적이면 (예, %VarContainingLabelName%), <a href="IsLabel.htm">IsLabel(VarContainingLabelName)</a>을 미리 호출해 그 라벨이 존재하는지 확인할 수 있습니다.</p> <p id="Functor"><span class="ver">[v1.1.20+]:</span> 유효하지 않은 라벨 이름이라면, 이 매개변수는 함수의 이름, 또는 (<a href="../misc/Functor.htm">함수 객체</a>를 담고 있는) 단일 변수 참조일 수 있습니다. For example, <code>Hotkey #z, %FuncObj%, On</code> or <code>Hotkey #z, % FuncObj, On</code>. 함수 객체를 돌려주는 다른 표현식은 현재 지원하지 않습니다. 핫키가 실행될 때, 함수는 매개변수 없이 호출됩니다. 핫키는 <a href="../Hotkeys.htm#Function">함수로 정의될 수 있습니다</a>. Hotkey 명령어가 필요없습니다.</p> <p>이 매개변수는 <em>KeyName</em>이 이미 핫키로 존재하면 빈 채로 있을 수 있습니다. 그런 경우, 그의 라벨은 바뀌지 않습니다. 이것은 핫키의 <em>옵션</em>만 바꿀 때 유용합니다.</p> <p class="note"><strong>주의</strong>: 라벨 또는 함수가 지정되어 있지만 핫키는 이전에 이 명령어 때문에 꺼져 있다면, 그 핫키는 여전히 꺼진 채로 있을 것입니다. 이를 피하려면 단어 ON을 <em>Options</em>에 포함시키십시오.</p> <p>이 매개변수는 다음 특수 값들 중 하나가 될 수도 있습니다:</p> <p><strong>On</strong>: 핫키가 활성화 됩니다. 핫키가 이미 켜져 있다면 아무 조치도 없습니다.</p> <p><strong>Off</strong>: 핫키가 비활성화 됩니다. 핫키가 이미 꺼져 있다면 아무 조치도 없습니다.</p> <p><strong>Toggle</strong>: 핫키를 반대 상태로 설정합니다 (enabled 또는 disabled).</p> <p><strong>AltTab</strong> (기타 등등): 이것들은 특수한 Alt-Tab 핫키 초치들로서 <a href="../Hotkeys.htm#alttab">여기에</a> 기술되어 있습니다.</p> <p class="warning"><strong>주의:</strong> 이름이 On, Off, Toggle 또는 AltTab으로 (또는 이 명령어로 인지되는 기타 변형으로) 라벨을 정의하면 일관성 없는 행위를 야기할 수 있습니다. 이런 값들은 절대로 라벨 이름으로 사용하지 않기를 바랍니다.</p> </dd> <dt>Options</dt> <dd><p>다음 기호들과 선택적으로 그 사이에 스페이스가 있는 문자열. 예를 들어: <code>UseErrorLevel B0</code>.</p> <p id="UseErrorLevel"><strong>UseErrorLevel</strong>: 명령억 문제를 만나면, 이 옵션은 경고 대화상자를 건너뛰고, <a href="../misc/ErrorLevel.htm">ErrorLevel</a>에 <a href="#ErrorLevel">아래</a> 테이블의 코드 중 하나를 설정한 다음, <a href="../misc/Threads.htm">현재 쓰레드</a>를 계속 실행시킵니다.</p> <p><strong>On</strong>: 핫키가 현재 꺼져 있으면 켭니다.</p> <p><strong>Off</strong>: 핫키가 현재 켜져 있으면 끕니다. 이는 전형적으로 처음에 끈 상태로 시작하는 핫키를 만드는 데 사용됩니다.</p> <p><strong>B</strong> 또는 <strong>B0</strong>: 기호 B를 지정하면 핫키를 <a href="_MaxThreadsBuffer.htm">#MaxThreadsBuffer</a>에 기술된 대로 버퍼 처리합니다. B0 (B 다음에 영)을 지정하면 이 유형의 버퍼 처리를 끌 수 있습니다.</p> <p><strong>Pn</strong>: 기호 P 다음에 핫키의 <a href="../misc/Threads.htm">쓰레드 우선 순위</a>를 지정하십시오. 핫키를 만들 때 P 옵션을 생략하면, 0이 사용 됩니다.</p> <p><strong>Tn</strong>: <a href="_MaxThreadsPerHotkey.htm">#MaxThreadsPerHotkey</a>에 기술된 것처럼 기호 T 다음에 이 핫키에 허용할 쓰레드의 개수를 지정합니다. 예를 들어: <code>T5</code>.</p> <p><strong>In</strong> (InputLevel) <span class="ver">[v1.1.23+]</span>: Specify the letter I (or i) followed by the hotkey's <a href="_InputLevel.htm">input level</a>. 예를 들어: <code>I1</code>.</p> <p>If any of the option letters are omitted and the hotkey already exists, those options will not be changed. 그러나 핫키가 아직 존재하지 않으면 -- 즉, 이 명령어로 생성될 예정이라면 -- 옵션은 최근에 효과가 있던 옵션이 기본값이 됩니다. 예를 들어, 스크립트 아래에 최대한 가깝게 나타나는 <a href="_MaxThreadsBuffer.htm">#MaxThreadsBuffer</a>의 실체가 사용됩니다. <a href="_MaxThreadsBuffer.htm">#MaxThreadsBuffer</a>가 스크립트에 나타나지 않으면, 그의 기본 설정이 (이 경우에는 OFF가) 사용됩니다. 이 행위는 <a href="_IfWinActive.htm">#IfWin</a>에도 적용됩니다: 가장 아래쪽에 나타나는 실체가 새로 생성된 핫키에 적용됩니다. 단, 스크립트가 시작된 이후로 "<a href="#IfWin">Hotkey IfWin</a>"이 실행된 경우는 예외입니다.</p> </dd> <dt>IfWinActive<br> IfWinExist<br> IfWinNotActive<br> IfWinNotExist<br> If, Expression<br> If, % FunctionObject</dt> <dd><p>이부-명령어들은 연이어 생성되는 모든 핫키가 문맥을 감지하게 만듭니다. 자세한 것은 <a href="#IfWin">아래</a>를 참조합니다.</p></dd> <dt>WinTitle<br> WinText</dt> <dd><p>이 매개변수들 안에서, %var%와 같은 변수 참조는 모두 명령어가 완료되는 순간 영속적이 됩니다. 다른 말로, 그 다음부터 변수의 내용에 가하는 변경을 기존의 IfWin 핫키들은 보지 못합니다.</p> <p><a href="_IfWinActive.htm">#IfWinActive/Exist</a>처럼, <em>WinTitle</em> 그리고 <em>WinText</em>는 <a href="SetTitleMatchMode.htm">SetTitleMatchMode</a> 그리고 <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a>에 <a href="../Scripts.htm#auto">자동-실행 섹션</a>에 설정된 대로 기본 설정을 사용합니다. 더 자세한 것은 <a href="_IfWinActive.htm">#IfWinActive/Exist</a>를 참조하십시오.</p></dd> <dt id="If">If, Expression</dt> <dd> <p><span class="ver">[AHK_L 4+]:</span> Associates subsequently-created hotkeys with a given #If expression. <em>Expression</em> must be an expression which has been used with the <a href="_If.htm">#If directive</a> elsewhere in the script. 이 명령어는 새 표현식을 만들 수 없지만, 기존의 표현식을 사용하여 핫키를 새로 만들 수 있습니다. <a href="_If.htm#ExDynamic">#If 예제 4</a>를 참조하십시오.</p> <p class="note"><strong>Note:</strong> The Hotkey command uses the string that you pass to it, not the original source code. Commas and deref chars (percent signs) are interpreted <em>before</em> the command is called, so may need to be escaped if they are part of the original expression. <a href="../misc/EscapeChar.htm">Escape sequences</a> are resolved when the script loads, so only the resulting characters are considered; for example, <code>Hotkey, If, x = "`t"</code> and <code>Hotkey, If, % "x = """ A_Tab """"</code> both correspond to <code>#If x = "`t"</code>.</p> <p><strong>알려진 한계:</strong> <em>Expression</em>에 <code>and</code>/<code>or</code> 연산자가 포함되어 있으면, 기존의 표현식으로 인지되지 않습니다. 우회책으로, 동등한 <code>&amp;&amp;</code>/<code>||</code> 연산자를 원래의 #If 표현식과 Hotkey 명령어에 건넨 표현식에 모두 사용하십시오.</p> </dd> <dt id="IfFn">If, % FunctionObject</dt> <dd> <p><span class="ver">[v1.1.25+]:</span> Associates subsequently-created hotkeys with a given <a href="../misc/Functor.htm">function object</a>. Such hotkeys will only execute if calling the given function object yields a non-zero number. This is like <code>Hotkey, If, Expression</code>, except that each hotkey can have many <a href="#variant">variants</a> (one per object). <em>FunctionObject</em> must be a single variable (not an expression) containing an object with a <em>call</em> method. The function or <em>call</em> method can accept one parameter, the <a href="../Variables.htm#ThisHotkey">name</a> of the hotkey.</p> <p>Once passed to the Hotkey command, the object will never be deleted (but memory will be reclaimed by the OS when the process exits).</p> <p>The <a href="#ExampleIfFn">"three-key combination" example</a> below uses this sub-command.</p> </dd> </dl> <h2 id="ErrorLevel">에러 처리</h2> <p><span class="ver">[v1.1.04+]</span>: 이 명령어는 실패하면 예외를 던질 수 있습니다. 더 자세한 정보는 <a href="Catch.htm#RuntimeErrors">실행시간 에러</a>를 참조하십시오.</p> <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a>은 다음과 같을 경우에만 바뀝니다: 1) 첫 번째 매개변수가 IfWin[Not]Active/Exist인 경우 문제 있으면 1이 설정되고 그렇지 않으면 0이 설정됩니다; 또는 2) 단어 UseErrorLevel이 <em>Options</em> 매개변수에 존재하는 경우입니다.</p> <p><span class="ver">[v1.1.25+]:</span> If the first parameter is "If", an exception is thrown if the second parameter is invalid or a memory allocation fails. ErrorLevel is not set in those cases, but is still set to 0 on success.</p> <table class="info"> <tr> <th>Error</th> <th abbr="설명">설명</th> </tr> <tr> <td>1</td> <td><em>Label</em> 매개변수가 존재하지 않는 라벨 이름을 지정합니다.</td> </tr> <tr> <td>2</td> <td><em>KeyName</em> 매개변수는 현재 키보드 레이아웃/언어가 인지하지 못하거나 지원하지 않는 하나 이상의 키를 지정합니다.</td> </tr> <tr> <td>3</td> <td>지원되지 않는 접두 키. 예를 들어, <code>WheelDown &amp; Enter</code>과 같이 마우스 휠을 핫키에 접두 키로 사용하는 것은 지원되지 않습니다.</td> </tr> <tr> <td>4</td> <td><em>KeyName</em> 매개변수가 <a href="../Hotkeys.htm#alttab">AltTab 또는 ShiftAltTab</a> 조치와 함께 사용하기에 적합하지 않습니다. A combination of (at most) two keys is required. 예를 들어: <code>RControl &amp; RShift::AltTab</code>.</td> </tr> <tr> <td>5</td> <td>명령어가 존재하지 않는 핫키를 변경하려고 시도했습니다.</td> </tr> <tr> <td>6</td> <td>명령어가 존재하지 않는 기존 핫키의 <a href="#variant">변형</a>을 변경하려고 시도했습니다. 이를 해결하려면, <a href="#IfWin">Hotkey IfWin</a>를 사용해 변경될 그 핫키의 변형이 부합할 기준을 설정하십시오.</td> </tr> <tr> <td>98</td> <td>Creating this hotkey would exceed the limit of hotkeys per script (however, each hotkey can have an unlimited number of <a href="#variant">variants</a>, and there is no limit to the number of <a href="../Hotstrings.htm">hotstrings</a>). The limit was raised from 700 to 1000 in <span class="ver">[v1.0.48]</span>, and to 32762 in <span class="ver">[v1.1.30]</span>.</td> </tr> <tr> <td>99</td> <td>메모리 고갈. 아주 희귀한 경우이며 보통 운영 체제가 불안정한 상태가 될 경우에만 일어납니다.</td> </tr> </table> <p>팁: UseErrorLevel 옵션은 핫키 변형의 존재를 테스트 하는 데 사용할 수 있습니다. 예를 들어:</p> <pre>Hotkey, ^!p,, UseErrorLevel if ErrorLevel in 5,6 MsgBox 핫키가 존재하지 않습니다. 아니면 현재 IfWin 기준에 맞는 변형이 없습니다.</pre> <h2 id="Remarks">논평</h2> <p><a href="#IfWin">현재의 IfWin 설정</a>은 Hotkey 명령어가 처리할 핫키의 <a href="#variant">변형</a>을 결정합니다.</p> <p>선택된 핫키와 핫스트링을 현재 활성 창의 유형에 기반하여 자동으로 끄는 것이 목적이라면, <code>Hotkey, ^!c, Off</code>보다 보통 <a href="_IfWinActive.htm">#IfWinActive/Exist</a>를 (또는 동적인 상대인 <a href="#IfWin">아래의</a> "Hotkey IfWinActive/Exist"를) 사용하는 것이 더 편리합니다.</p> <p><a href="../Hotkeys.htm">겹-쌍점 라벨</a>을 통하여 핫키를 만드는 것이 Hotkey 명령어를 사용하는 방법보다 더 수행성능이 좋습니다. 왜냐하면 스크립트가 시작할 때 핫키를 (하나 씩이 아니라) 모두 일괄적으로 켤 수 있기 때문입니다. 그러므로, 스크립트가 실행을 시작해야만 이름을 알 수 있는 키들을 생성하는 데에만 이 명령어를 사용하는 것이 제일 좋습니다. 그런 경우 한 가지는 다양한 행위에 대한 스크립트의 핫키를 <a href="IniRead.htm">INI 파일</a>을 통하여 환경구성할 때입니다.</p> <p>주어진 라벨은 여러 핫키의 목표가 될 수 있습니다. 라벨이 핫키에 호출되었다면, 내장 변수 <a href="../Variables.htm#ThisHotkey">A_ThisHotkey</a>를 점검하면 어느 핫키인지 알아낼 수 있습니다.</p> <p>스크립트가 보류(<a href="Suspend.htm">suspended</a>) 중이라면, 새로 추가된/활성화된 핫키도 보류가 꺼질 때까지 함께 보류됩니다 (단, <a href="Suspend.htm">Suspend</a> 섹션에 기술된 대로 면제된 경우는 예외입니다).</p> <p>이 명령어가 가한 변경 때문에 정당성을 얻으면 <a href="_InstallKeybdHook.htm">키보드</a> 그리고/또는 <a href="_InstallMouseHook.htm">마우스</a> 갈고리가 설치되거나 제거됩니다.</p> <p>Hotkey 명령어는 자신의 소유가 아닌 스크립트에서 직접적으로 핫키를 켜거나 끌 수 없지만, 대부분의 경우 같은 핫키들을 만들거나 활성화 함으로써 <a href="../misc/Override.htm">오버라이드</a> 할 수 있습니다. 이것의 작동 여부는 다음 요인의 조합에 따라 다릅니다: 1) 오버라이드 될 핫키가 다른 스크립트에서 <a href="ListHotkeys.htm">갈고리 핫키</a>인가 (비-갈고리 핫키는 언제나 오버라이드할 수 있습니다); 2) 최근에 시작된 스크립트의 핫키가 일반적으로 다른 스크립트의 핫키보다 우선 순위가 높다는 사실 (그러므로, 오버라이드 할 스크립트가 최근에 시작되었다면, 그의 오버라이드는 언제나 성공합니다); 3) 이 핫키를 활성화 하거나 생성하면 새로 <a href="_InstallKeybdHook.htm">키보드</a> 또는 <a href="_InstallMouseHook.htm">마우스</a> 갈고리가 활성화 되는가 (그렇다면, 오버라이드는 언제나 성공합니다).</p> <p>스크립트에 하나의 핫키만 있어도, 스크립트는 영속적이 됩니다. Exit이 아니라 <a href="ExitApp.htm">ExitApp</a>를 사용해야 종료할 수 있다는 뜻입니다. 핫키 스크립트는 또 자동으로 <a href="_SingleInstance.htm">#SingleInstance</a>가 됩니다. 단, <code>#SingleInstance Off</code>가 지정된 경우는 예외입니다.</p> <h2 id="IfWin">에 대한 발언: <em>Hotkey, If</em></h2> <p>The "Hotkey If" commands allow context-sensitive <a href="../Hotkeys.htm">hotkeys</a> to be created and modified while the script is running (by contrast, the <a href="_If.htm">#If</a> and <a href="_IfWinActive.htm">#IfWinActive/Exist</a> directives are positional and take effect before the script begins executing). 예를 들어:</p> <pre>Hotkey, IfWinActive, ahk_class Notepad Hotkey, ^!e, MyLabel <em>; 노트패드에서만 작동하는 핫키를 생성합니다.</em></pre> <p>"Hotkey If"를 사용하면 뒤이어 생성되거나 변경되는 모든 <a href="../Hotkeys.htm">핫키</a>에 문맥 감지가 영향을 미칩니다. 게다가, If 부-명령어는 서로 배타적입니다; 즉, 최근의 부-명령어만 효과가 있습니다.</p> <p>문맥 감지를 끄려면 (즉, 이어서 생성되는 핫키를 모든 창에 작동시키려면), If 부-명령어를 지정하되 매개변수를 생략하십시오. 예를 들어: <code>Hotkey, If</code> or <code>Hotkey, IfWinActive</code>.</p> <p>If "Hotkey If" is never used by a script, the bottommost use of any <a href="_If.htm">#If</a> or <a href="_IfWinActive.htm">#IfWin</a> directive (if any) will be in effect for the Hotkey command.</p> <p>When a mouse or keyboard hotkey is disabled via an If sub-command or directive, it performs its native function; that is, it passes through to the active window as though there is no such hotkey. However, joystick hotkeys always pass through, whether they are disabled or not.</p> <h2 id="variant">변종 (중복) 핫키</h2> <p>특정 핫키는 각 정의마다 IfWin 기준이 다르다면 한 번 이상 만들 수 있습니다. 이런 것들을 <em>핫키 변형</em>이라고 부릅니다. 예를 들어:</p> <pre>Hotkey, IfWinActive, ahk_class Notepad Hotkey, ^!c, MyLabelForNotepad Hotkey, IfWinActive, ahk_class WordPadClass Hotkey, ^!c, MyLabelForWordPad Hotkey, IfWinActive Hotkey, ^!c, MyLabelForAllOtherWindows</pre> <p>핫키의 변형이 하나 이상 촉발할 수 있다면, 가장 일찍 만들어진 변형만 촉발됩니다. 이에 대한 예외는 전역 변형입니다 (IfWin 기준이 없는 변형): 항상 우선 순위가 낮습니다. 그래서 다른 변형이 전혀 촉발될 수 없을 때만 촉발됩니다.</p> <p>중복 핫키를 만들 때, ^!+#와 같은 <a href="../Hotkeys.htm#Symbols">수식 심볼</a>의 순서는 문제가 되지 않습니다. 예를 들어, <code>^!c</code>는 <code>!^c</code>와 동일합니다. 그렇지만, 키는 일관성이 있게 철자가 되어야 합니다. 예를 들어, 이런 목적으로 <em>Esc</em>는 <em>Escape</em>와 같지 않습니다 (그렇지만 대소문자는 문제가 되지 않습니다). 마지막으로, <a href="../Hotkeys.htm#wildcard">와일드카드 접두 심볼 (*)</a>을 가진 핫키는 모두 비-와일드카드 핫키와 완전히 다릅니다; 예를 들어, <code>*F1</code>과 <code>F1</code>는 각각 자신의 변형을 가집니다.</p> <p>IfWin 핫키에 관한 더 자세한 정보는 <a href="_IfWinActive.htm#gen">#IfWin의 총평</a>을 참조하십시오.</p> <h2 id="Related">관련 항목</h2> <p><a href="../Hotkeys.htm#Symbols">핫키 심볼</a>, <a href="_IfWinActive.htm">#IfWinActive/Exist</a>, <a href="_MaxThreadsBuffer.htm">#MaxThreadsBuffer</a>, <a href="_MaxThreadsPerHotkey.htm">#MaxThreadsPerHotkey</a>, <a href="Suspend.htm">Suspend</a>, <a href="IsLabel.htm">IsLabel()</a>, <a href="../misc/Threads.htm">Threads</a>, <a href="Thread.htm">Thread</a>, <a href="Critical.htm">Critical</a>, <a href="Gosub.htm">Gosub</a>, <a href="Return.htm">Return</a>, <a href="Menu.htm">Menu</a>, <a href="SetTimer.htm">SetTimer</a></p> <h2 id="Examples">예제</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> Creates a Ctrl-Alt-Z hotkey.</p> <pre>Hotkey, ^!z, MyLabel return MyLabel: MsgBox You pressed %A_ThisHotkey%. return</pre> </div> <div class="ex" id="ExAltTab"> <p><a class="ex_number" href="#ExAltTab"></a> RCtrl &amp; RShift를 Alt-Tab 처럼 작동하도록 만듭니다.</p> <pre>Hotkey, RCtrl &amp; RShift, AltTab</pre> </div> <div class="ex" id="ExOn"> <p><a class="ex_number" href="#ExOn"></a> Win-C 핫키를 재활성화합니다.</p> <pre>Hotkey, #c, On</pre> </div> <div class="ex" id="ExOff"> <p><a class="ex_number" href="#ExOff"></a> Shift-Win-C 핫키를 끕니다.</p> <pre>Hotkey, $+#c, Off</pre> </div> <div class="ex" id="ExT"> <p><a class="ex_number" href="#ExT"></a> Changes a hotkey to allow 5 threads.</p> <pre>Hotkey, ^!a, , T5</pre> </div> <div class="ex" id="ExIfWin"> <p><a class="ex_number" href="#ExIfWin"></a> Creates a Ctrl-Alt-C hotkey that works only in Notepad.</p> <pre>Hotkey, IfWinActive, ahk_class Notepad Hotkey, ^!c, MyLabelForNotepad</pre> </div> <div class="ex" id="ExampleIfFn"> <p><a class="ex_number" href="#ExampleIfFn"></a> Creates a GUI that allows to register primitive three-key combination hotkeys.</p> <pre>Gui Add, Text, xm, Prefix key: Gui Add, Edit, yp x100 w100 vPrefix, Space Gui Add, Text, xm, Suffix hotkey: Gui Add, Edit, yp x100 w100 vSuffix, f &amp; j Gui Add, Button, Default, Register Gui Show return ButtonRegister() { global Gui Submit, NoHide local fn fn := Func("HotkeyShouldFire").Bind(Prefix) Hotkey If, % fn Hotkey % Suffix, FireHotkey } HotkeyShouldFire(prefix, thisHotkey) { return GetKeyState(prefix) } FireHotkey() { MsgBox %A_ThisHotkey% } GuiClose: GuiEscape: ExitApp</pre> </div> </body> </html>