Pause

스크립트의 현재 쓰레드를 정지합니다.

Pause , OnOffToggle, OperateOnUnderlyingThread

매개변수

OnOffToggle

비어 있거나 생략되면, 기본 값은 Toggle입니다. 그렇지 않으면, 다음 단어 중 하나를 지정해야 합니다:

Toggle: 현재 쓰레드를 정지합니다. 단, 그 아래의 쓰레드가 정지해 있는 경우는 예외입니다. 이 경우 그 아래의 쓰레드가 재개됩니다.

On: 현재 쓰레드를 정지합니다.

Off: 현재 쓰레드 아래의 쓰레드가 정지되어 있으면, 재개될 때 그 아래의 쓰레드가 재개됩니다. 그렇지 않으면, 이 명령어는 아무 효과가 없습니다.

[v1.1.30+]: The decimal values 1, 0 and -1 may be used in place of On, Off and Toggle, respectively.

OperateOnUnderlyingThread

Pause Off에 대하여 이 매개변수는 무시됩니다. 왜냐하면 언제나 그 아래의 쓰레드 위에서 작동하기 때문입니다. 다른 것에 대해서는, Pause가 켜져 있을 경우에만 효과가 있습니다 (Toggle을 사용 포함).

다음 숫자 중 하나를 지정하십시오:

0 (또는 생략): 현재 쓰레드가 정지합니다; 즉, 현재 Pause 명령어를 실행한 쓰레드.

1: 현재 쓰레드 아래의 쓰레드를 정지한 것으로 표식을 답니다. 그래서 재개하면, (있다면) 실행 중인 명령어를 종료한 다음, 정지 상태로 들어갑니다. 현재 쓰레드 아래에 쓰레드가 없으면, 스크립트 자체가 정지합니다. 이 때문에 타이머가 작동을 멈춥니다 (이 효과는 스크립트에 쓰레드가 없을 때 "Pause Script" 메뉴 항목을 사용한 것과 동일합니다).

주의: A_IsPaused에는 그 아래의 쓰레드의 정지 상태가 담깁니다.

논평

By default, the script can also be paused via its tray icon or main window.

핫키핫스트링을 꺼버리는 Suspend와 다르게, pause를 켜면 현재 쓰레드가 동결됩니다. 부작용으로, 그 아래에 인터럽트된 쓰레드가 있다면 동면 상태가 됩니다.

쓰레드가 정지할 때마다, 타이머는 실행되지 않습니다. 대조적으로, 명시적으로 기동된 쓰레드는 핫키 그리고 메뉴 항목과 같이 여전히 기동될 수 있습니다; 그러나 쓰레드가 끝날 때, 그 아래의 쓰레드는 멈출 것입니다. 다른 말로, 각 쓰레드는 다른 쓰레드와 독립적으로 정지할 수 있습니다.

스크립트의 현재 쓰레드가 정지 상태에 있으면 트레이 아이콘의 색깔이 초록색에서 빨간색으로 바뀝니다. 이 컬러 변화는 아이콘을 동결하면 피할 수 있습니다. Menu 명령어의 마지막 매개변수에 1을 지정하면 됩니다. 예를 들어:

Menu, Tray, Icon, C:\My Icon.ico, , 1

스크립트를 정지하지 않고 타이머를 끄려면 "Thread, NoTimers"를 사용하십시오.

메뉴를 (트레이 메뉴, 메뉴 바, GUI 문맥 메뉴, 등등.) 보여주고 있는 동안 (공식적으로 정지한 것은 아니지만) 스크립트는 언제나 정지합니다.

Suspend, Menu, ExitApp, 쓰레드, SetTimer

예제

Press a hotkey once to pause the script. Press it again to unpause.

Pause::Pause  ; The Pause/Break key.
#p::Pause  ; Win+P

Pause 명령어를 또다른 스크립트에 전송합니다.

DetectHiddenWindows, On
WM_COMMAND := 0x0111
ID_FILE_PAUSE := 65403
PostMessage, WM_COMMAND, ID_FILE_PAUSE,,, C:\YourScript.ahk ahk_class AutoHotkey