SetWinDelay

WinActivate와 같은 각 창 명령어를 실행한 후에 일어날 지연시간을 설정합니다.

SetWinDelay, Delay
선택

매개변수

Delay

밀리초 시간, 표현식 가능. -1은 지연시간이 없으며 0이면 가능하면 최소로 지연합니다. 설정하지 않으면, 기본 값은 100입니다.

논평

각 창 명령어가 실행된 후 짧은 지연시간 (잠자기)가 자동으로 실행됩니다. 단, IfWinActiveIfWinExist는 제외합니다. 이렇게 하는 이유는 스크립트의 신뢰성을 개선하기 위해서입니다. 창은 종종 생성되거나, 활성화되거나 또는 최소화 되거나 등등 변경이 있고 난 후에 일정한 "휴식"시간이 필요합니다. 그래야 창은 자신을 갱신할 기회를 가질 수 있고 스크립트가 그 창에 보내려고 시도하는 다음 명령어에 응답할 수 있기 때문입니다.

지연 시간이 -1이라도 (지연 시간 전혀 없음) 허용하지만, 적어도 0은 사용하기를 권장합니다. 그래야 CPU가 부하가 많더라도 스크립트가 제대로 실행된다는 보장이 높아집니다.

지연 시간이 0이면 내부적으로 Sleep(0)을 실행하는데, 이 함수는 그를 필요로 하는 프로세스에 스크립트의 시간조각(timeslice)의 나머지를 건넵니다. 아무것도 없으면, Sleep(0)은 전혀 잠자지 않습니다.

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

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

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

관련 항목

SetControlDelay, SetKeyDelay, SetMouseDelay, SetBatchLines, SendMode

예제

SetWinDelay, 10
선택 | 내려받기