SetWinDelay

WinActivate와 같이, 각 창 명령어 다음에 지연 시간을 설정합니다.

SetWinDelay, Delay

매개변수

Delay

밀리초 단위 시간, 표현식 가능. -1이면 지연 시간이 전혀 없습니다. 0이면 가능한 적게 지연됩니다. 설정하지 않으면, 기본 값은 100입니다.

논평

A short delay (sleep) is done automatically after every windowing command, built-in function and control flow statement except WinActive(), IfWinActive, WinExist() and IfWinExist. 이렇게 하는 이유는 스크립트의 신뢰성을 개선하기 위해서입니다. 창은 종종 생성되거나, 활성화되거나 또는 최소화 되거나 등등 변경이 있고 난 후에 일정한 "휴식"시간이 필요합니다. 그래야 창은 자신을 갱신할 기회를 가질 수 있고 스크립트가 그 창에 보내려고 시도하는 다음 명령어에 응답할 수 있기 때문입니다.

지연 시간이 -1이라도 (전혀 지연 시간 없음) 허용하지만, 적어도 0은 사용하기를 권장합니다. 그러면 CPU에 부하가 많아도 스크립트가 올바르게 실행될 것이라는 보장이 높아집니다.

지연 시간이 0이면 내부적으로 Sleep(0)을 실행합니다. 이는 그를 필요로 하는 다른 프로세스에 스크립트의 시간조각(timeslice)의 나머지를 나누어 줍니다. 남는 게 없으면, Sleep(0)은 전혀 잠자지 않습니다.

CPU가 느리거나 부하가 많으면, 또는 창 애니메이션이 켜져 있으면, 높은 지연 시간이 필요합니다.

내장 변수 A_WinDelay에 현재 설정이 담겨 있습니다.

새로 기동된 쓰레드마다 (핫키, 맞춤 메뉴 항목, 또는 타이머 서브루틴) 이 명령어에 대한 기본값을 가지고 새로 시작합니다. 이 설정은 이 명령어를 자동-실행 섹션에 (스크립트의 상단 부분) 사용하면 바꿀 수 있습니다.

SetControlDelay, SetKeyDelay, SetMouseDelay, SetBatchLines, SendMode

예제

Causes a delay of 10 ms to occur after each windowing command.

SetWinDelay, 10