기본 제공 함수 시그니처
모든 기본 제공 함수를 영역별로 묶어 보여 줍니다. 각 줄에는 매개 변수 이름과 형식이 순서대로, 그리고 반환 형식이 표시됩니다. 간단히는 구성 UI의 간단히 모드에서 제공하는 기본 제공 함수를 나타냅니다. 예제를 누르면 예제 라이브러리에서 해당 기본 제공 함수를 호출하는 스크립트만 표시됩니다. 편집기의 자동 완성 도구 설명에도 같은 시그니처가 표시됩니다.
AutoHotkey
AutoHotkeyExecuteScript
AutoHotkeyExecuteScript(script: Text) → Integer · 간단히
설정에서 지정한 AutoHotkey 프로그램으로 AutoHotkey v2 코드를 실행하고 종료될 때까지 기다립니다. 트리거의 컨텍스트는 변수로 전달되며, 출력 줄은 AHK: 접두사와 함께 출력됩니다.
매개 변수
script: Text— 실행할 AutoHotkey v2 스크립트 텍스트입니다. 작업을 중지하면 AutoHotkey 프로세스가 종료됩니다.
반환 값
AutoHotkey 종료 코드입니다. AutoHotkey 지원이 꺼져 있거나, 프로그램 경로가 설정되지 않았거나 찾을 수 없거나, 프로그램을 시작하지 못한 경우 -1입니다.
예제 1개: AutoHotkey에 넘기기
Capture
CaptureSaveRegion
CaptureSaveRegion(fileName: Text, x: Integer, y: Integer, width: Integer, height: Integer) → Bool
화면의 사각형 영역을 캡처하여 이미지 파일로 저장합니다. 먼저 이 앱의 제스처 궤적과 힌트를 화면에서 제거하며, 이를 위해 최대 250밀리초 동안 기다립니다.
매개 변수
fileName: Text— 쓸 이미지 파일의 경로입니다. 확장명(.bmp, .png, .jpg 또는 .jpeg)에 따라 형식이 결정됩니다. 기존 파일은 덮어쓰며, 없는 폴더는 만들어지지 않습니다.x: Integer— 사각형의 왼쪽 가장자리(화면 픽셀)입니다.y: Integer— 사각형의 위쪽 가장자리(화면 픽셀)입니다.width: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.height: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.
반환 값
이미지 파일을 쓴 경우 true이고, width 또는 height가 양수가 아니거나 캡처에 실패했거나 파일을 쓸 수 없는 경우 false입니다. fileName이 .bmp, .png, .jpg 또는 .jpeg로 끝나지 않으면 스크립트가 오류로 중지됩니다.
예제 1개: 동그라미 친 영역의 스크린샷 찍기
CaptureShowImage
CaptureShowImage(fileName: Text) → Bool
이미지 파일을 원래 크기로 테두리 없는 항상 위 미리 보기 창에 표시하며, 창은 커서 아래 모니터의 가운데에 놓입니다. 끌어서 이동하고, 두 번 클릭하여 닫고, 마우스 오른쪽 단추를 클릭하면 복사, 저장, 닫기 메뉴가 나타납니다.
매개 변수
fileName: Text— 표시할 .bmp, .png, .jpg 또는 .jpeg 파일의 경로입니다.
반환 값
이미지를 로드하여 미리 보기 창을 여는 중이면 true이고, 파일이 없거나 읽을 수 있는 이미지가 아니면 false입니다. fileName이 .bmp, .png, .jpg 또는 .jpeg로 끝나지 않으면 스크립트가 오류로 중지됩니다.
CaptureShowRegion
CaptureShowRegion(x: Integer, y: Integer, width: Integer, height: Integer) → Bool
화면의 사각형 영역을 캡처하여 그 복사본을 해당 영역 바로 위에 놓인 테두리 없는 항상 위 미리 보기 창에 표시합니다. 먼저 이 앱의 제스처 궤적과 힌트를 제거하며, 최대 250밀리초 동안 기다립니다.
매개 변수
x: Integer— 사각형의 왼쪽 가장자리(화면 픽셀)입니다.y: Integer— 사각형의 위쪽 가장자리(화면 픽셀)입니다.width: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.height: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.
반환 값
캡처에 성공하여 미리 보기 창을 여는 중이면 true이고, width 또는 height가 양수가 아니거나 화면을 캡처할 수 없으면 false입니다.
Clipboard
ClipboardClear
ClipboardClear() → Bool
클립보드를 비워 텍스트, 이미지 및 다른 모든 형식을 제거하며, 새로 아무것도 넣지 않습니다.
매개 변수
매개 변수가 없습니다.
반환 값
클립보드를 비운 경우 true이고, 다른 프로그램이 클립보드를 사용 중이어서 비우지 못한 경우 false입니다.
예제 1개: 선택한 텍스트를 대문자로 바꾸기
ClipboardCopySelection
ClipboardCopySelection(timeoutMs: Integer) → Text · 간단히
활성 창에 Ctrl+C를 보내고 복사된 텍스트를 반환합니다. 먼저 Ctrl, Shift, Alt, Windows 키를 놓을 때까지 기다립니다. 복사하면 클립보드 내용이 바뀌므로 유지하려면 ClipboardSave와 ClipboardRestore를 사용하십시오.
매개 변수
timeoutMs: Integer— 키를 놓고 복사 내용이 도착하기까지 기다릴 전체 시간(밀리초)으로, 0에서 60000 사이입니다. 더 큰 값은 60000으로 처리됩니다. 대부분의 프로그램에는 1000이 적당합니다.
반환 값
복사된 텍스트입니다. timeoutMs가 지나기 전에 키가 계속 눌려 있었거나, 복사된 것이 없거나(선택 영역 없음), 복사된 내용에 텍스트가 없으면 빈 텍스트입니다.
예제 1개: 선택한 텍스트로 웹 검색하기
ClipboardGetHtml
ClipboardGetHtml() → Text
클립보드의 HTML을 반환합니다. 예를 들어 웹 페이지의 일부를 복사할 때 브라우저가 넣는 내용입니다.
매개 변수
매개 변수가 없습니다.
반환 값
클립보드의 HTML 헤더를 제외한 복사된 HTML 조각입니다. 클립보드에 HTML이 없거나 사용 중이면 빈 텍스트입니다.
ClipboardGetRtf
ClipboardGetRtf() → Text
클립보드의 서식 있는 텍스트(RTF)를 반환합니다. 예를 들어 서식 있는 텍스트를 복사할 때 워드프로세서가 넣는 내용입니다.
매개 변수
매개 변수가 없습니다.
반환 값
RTF 태그를 텍스트로 반환합니다. 클립보드에 RTF가 없거나 사용 중이면 빈 텍스트입니다.
ClipboardGetSequenceNumber
ClipboardGetSequenceNumber() → Integer
클립보드 내용이 바뀔 때마다 Windows가 변경하는 번호를 반환합니다. 복사가 일어날 작업 전에 읽어 두었다가 비교하면 복사가 완료되었는지 알 수 있습니다.
매개 변수
매개 변수가 없습니다.
반환 값
현재 클립보드 시퀀스 번호입니다. 값 자체가 아니라 번호가 바뀌었는지만 의미가 있습니다.
ClipboardGetText
ClipboardGetText() → Text · 간단히
현재 클립보드에 있는 일반 텍스트를 반환합니다. 클립보드의 서식, 이미지 및 파일은 무시됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
클립보드 텍스트입니다. 클립보드에 텍스트가 없거나 다른 프로그램이 사용 중이면 빈 텍스트입니다.
예제 6개: 정규식으로 복사한 텍스트에서 값 추출하기, 클립보드의 단어 수 세기, 클립보드의 여러 줄을 한 줄로 합치기, 오늘 날짜와 타임스탬프가 붙은 파일 이름, 선택한 텍스트를 대문자로 바꾸기, 선택 영역으로 웹 검색하기
ClipboardLoadImage
ClipboardLoadImage(path: Text) → Bool
이미지 파일을 로드하여 현재 내용 대신 클립보드에 넣으므로 다른 프로그램에 바로 붙여 넣을 수 있습니다. PNG의 투명한 영역은 흰색이 됩니다.
매개 변수
path: Text— 이미지 파일의 전체 경로로, .bmp, .png, .jpg 또는 .jpeg로 끝나야 합니다. 다른 확장명이면 스크립트가 오류로 중지됩니다.
반환 값
이미지가 클립보드에 들어간 경우 true이고, 파일이 없거나 읽을 수 있는 이미지가 아니거나 클립보드가 사용 중이면 false입니다.
ClipboardPasteReplacementText
ClipboardPasteReplacementText(text: Text) → Bool · 간단히
텍스트를 클립보드에 넣고 Ctrl+V를 보내 활성 창에 붙여 넣습니다. 붙여넣기가 완료될 때까지 기다리지 않으므로 ClipboardRestore 전에 UtilityWait로 잠시 기다리십시오.
매개 변수
text: Text— 붙여 넣을 텍스트입니다.
반환 값
클립보드를 설정하고 Ctrl+V를 보낸 경우 true이고, 클립보드가 사용 중이었거나 Windows가 키 입력을 차단한 경우 false입니다.
예제 2개: 템플릿을 채워 붙여 넣기, 선택한 텍스트를 대문자로 바꾸기
ClipboardRestore
ClipboardRestore() → Bool
이번 스크립트 실행에서 마지막 ClipboardSave로 저장한 클립보드 내용을 모든 형식으로 되돌립니다. 이번 실행에서 앞서 ClipboardSave를 호출하지 않았으면 클립보드를 비웁니다.
매개 변수
매개 변수가 없습니다.
반환 값
저장된 모든 내용을 되돌린 경우 true이고, 클립보드가 사용 중이었거나 형식을 복원할 수 없는 경우 false입니다.
예제 5개: 템플릿을 채워 붙여 넣기, 선택한 텍스트로 웹 검색하기, 선택한 텍스트를 대문자로 바꾸기, 선택 영역으로 웹 검색하기, 한 번에 한 작업만 특정 구간 실행하기
ClipboardSave
ClipboardSave() → Bool
클립보드의 모든 내용을 모든 형식으로 복사하여 저장하므로, 같은 스크립트 실행에서 나중에 ClipboardRestore로 되돌릴 수 있습니다. 다시 호출하면 저장된 복사본이 바뀝니다.
매개 변수
매개 변수가 없습니다.
반환 값
클립보드를 읽은 경우 true이고, 다른 프로그램이 사용 중이어서 읽지 못한 경우 false입니다.
예제 5개: 템플릿을 채워 붙여 넣기, 선택한 텍스트로 웹 검색하기, 선택한 텍스트를 대문자로 바꾸기, 선택 영역으로 웹 검색하기, 한 번에 한 작업만 특정 구간 실행하기
ClipboardSaveImage
ClipboardSaveImage(path: Text) → Bool
Print Screen으로 찍은 스크린샷 등 클립보드의 이미지를 파일 확장명이 나타내는 형식으로 파일에 저장합니다. 기존 파일은 덮어씁니다.
매개 변수
path: Text— 쓸 파일의 전체 경로로, .bmp, .png, .jpg 또는 .jpeg로 끝나야 합니다. 다른 확장명이면 스크립트가 오류로 중지됩니다.
반환 값
파일을 쓴 경우 true이고, 클립보드에 이미지가 없거나 파일을 쓸 수 없는 경우 false입니다.
예제 1개: 복사한 이미지를 파일로 저장하기
ClipboardSetHtml
ClipboardSetHtml(html: Text) → Bool
HTML 조각을 현재 내용 대신 클립보드에 넣으므로, 전자 메일이나 워드프로세서에 붙여 넣을 때 서식이 유지됩니다. 텍스트만 붙여 넣는 프로그램을 위해 태그를 제거한 일반 텍스트 복사본도 추가됩니다.
매개 변수
html: Text— 넣을 HTML 조각입니다(예: <b>bold</b> 텍스트). 클립보드의 HTML 헤더는 자동으로 추가되므로 직접 추가하지 마십시오.
반환 값
HTML과 그 일반 텍스트 복사본을 클립보드에 넣은 경우 true이고, 클립보드가 사용 중이었으면 false입니다.
ClipboardSetRtf
ClipboardSetRtf(rtf: Text) → Bool
서식 있는 텍스트(RTF)를 현재 내용 대신 클립보드에 넣으므로, WordPad, Word 또는 Outlook에 붙여 넣을 때 서식이 유지됩니다. 텍스트만 붙여 넣는 프로그램을 위해 단어의 일반 텍스트 복사본도 추가됩니다.
매개 변수
rtf: Text— 완전한 RTF 문서를 텍스트로 지정합니다. 모든 문자를 직접 입력할 수 있으며, 일반 ASCII 이외의 문자는 자동으로 RTF 유니코드 이스케이프로 작성됩니다.
반환 값
RTF와 그 일반 텍스트 복사본을 클립보드에 넣은 경우 true이고, 클립보드가 사용 중이었으면 false입니다.
ClipboardSetText
ClipboardSetText(text: Text) → Bool · 간단히
텍스트를 기존 내용 대신 클립보드에 넣으므로 어떤 프로그램에든 바로 붙여 넣을 수 있습니다.
매개 변수
text: Text— 클립보드에 넣을 텍스트입니다.
반환 값
텍스트를 클립보드에 넣은 경우 true이고, 다른 프로그램이 클립보드를 사용 중이었으면 false입니다.
예제 2개: 정규식으로 복사한 텍스트에서 값 추출하기, 클립보드의 여러 줄을 한 줄로 합치기
Context
ContextGetActionName
ContextGetActionName() → Text
실행 중인 작업의 이름을 반환합니다. 전역 이벤트는 Global_Event_ 뒤에 이벤트 ID가 붙은 이름(예: Global_Event_release)을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
작업 이름입니다. 전역 이벤트이면 Global_Event_ 이름이고, 타이머, 폴더 감시 또는 직렬 모니터 스크립트에서는 빈 텍스트입니다.
예제 1개: 트리거 컨텍스트가 아는 모든 정보
ContextGetApplicationName
ContextGetApplicationName() → Text
제스처, 단축키 또는 텍스트 확장으로 트리거된 작업에서, 실행 중인 작업이 속한 애플리케이션 그룹의 이름을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
애플리케이션 그룹의 이름(전역 그룹은 보통 Global)입니다. 전역 이벤트, 타이머, 폴더 감시 또는 직렬 모니터 스크립트에서는 빈 텍스트입니다.
예제 4개: 템플릿을 채워 붙여 넣기, 트리거 컨텍스트가 아는 모든 정보, 인식되지 않은 그림을 그대로 전달하기, 로그 파일에 추가하기
ContextGetBoundingBoxHeight
ContextGetBoundingBoxHeight() → Integer
그린 제스처 전체를 둘러싸는 사각형의 높이를 픽셀 단위로 반환합니다. 제스처 밖에서는 0을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
높이(픽셀)입니다. 제스처 밖에서는 0입니다.
예제 2개: 트리거 컨텍스트가 아는 모든 정보, 동그라미 친 영역의 스크린샷 찍기
ContextGetBoundingBoxWidth
ContextGetBoundingBoxWidth() → Integer
그린 제스처 전체를 둘러싸는 사각형의 너비를 픽셀 단위로 반환합니다. 제스처 밖에서는 0을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
너비(픽셀)입니다. 제스처 밖에서는 0입니다.
예제 2개: 트리거 컨텍스트가 아는 모든 정보, 동그라미 친 영역의 스크린샷 찍기
ContextGetBoundingBoxX
ContextGetBoundingBoxX() → Integer
그린 제스처 전체를 둘러싸는 사각형의 왼쪽 가장자리를 가상 화면 픽셀 단위로 반환합니다. 제스처 밖에서는 0을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
왼쪽 가장자리(가상 화면 픽셀)입니다. 제스처 밖에서는 0입니다.
예제 2개: 트리거 컨텍스트가 아는 모든 정보, 동그라미 친 영역의 스크린샷 찍기
ContextGetBoundingBoxY
ContextGetBoundingBoxY() → Integer
그린 제스처 전체를 둘러싸는 사각형의 위쪽 가장자리를 가상 화면 픽셀 단위로 반환합니다. 제스처 밖에서는 0을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
위쪽 가장자리(가상 화면 픽셀)입니다. 제스처 밖에서는 0입니다.
예제 2개: 트리거 컨텍스트가 아는 모든 정보, 동그라미 친 영역의 스크린샷 찍기
ContextGetButtonState
ContextGetButtonState() → Text
전역 마우스 단추 이벤트가 단추를 누를 때 발생했는지 놓을 때 발생했는지를 반환합니다. 전역 마우스 단추 이벤트의 스크립트에서만 값을 얻습니다.
매개 변수
매개 변수가 없습니다.
반환 값
누를 때는 'down', 놓을 때는 'up'이며, 제스처를 포함한 다른 모든 트리거에서는 빈 텍스트입니다.
ContextGetControl
ContextGetControl() → Window
트리거의 대상이 된 정확한 컨트롤을 반환합니다. 예를 들어 제스처나 마우스 아래의 편집 상자, 또는 단축키나 텍스트 확장의 경우 포커스가 있는 창입니다. 해당 애플리케이션 창을 얻으려면 ContextGetWindow를 사용하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
컨트롤을 Window로 반환합니다. 타이머, 폴더 감시, 직렬 모니터 또는 Load 스크립트처럼 트리거에 창이 없으면 null 창입니다.
ContextGetGestureName
ContextGetGestureName() → Text
이 작업을 실행하기 위해 그린 제스처의 이름을 반환합니다. 작업 이름이 아니라 제스처 자체의 이름입니다. ContextGetActionName을 참조하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
제스처 이름입니다. 제스처 밖에서는 빈 텍스트입니다.
예제 2개: 트리거 컨텍스트가 아는 모든 정보, 로그 파일에 추가하기
ContextGetPointCount
ContextGetPointCount() → Integer
그린 제스처를 따라 기록된 커서 위치의 개수를 반환합니다. 각 위치는 ContextGetPointX와 ContextGetPointY로 읽습니다.
매개 변수
매개 변수가 없습니다.
반환 값
점의 개수입니다. 제스처 밖에서는 0입니다.
예제 3개: 제스처 획의 길이, 트리거 컨텍스트가 아는 모든 정보, 획은 어느 방향으로 그려졌나요?
ContextGetPointX
ContextGetPointX(index: Integer) → Integer
그린 제스처에서 기록된 한 점의 가로 화면 위치를 가상 화면 픽셀 단위로 반환합니다.
매개 변수
index: Integer— 0부터 시작하는 점 번호로, 0에서 ContextGetPointCount() 빼기 1까지입니다. 점 0은 제스처가 시작된 위치입니다.
반환 값
x 좌표입니다. index가 범위를 벗어났거나 작업이 제스처로 트리거되지 않았으면 0입니다.
예제 2개: 제스처 획의 길이, 획은 어느 방향으로 그려졌나요?
ContextGetPointY
ContextGetPointY(index: Integer) → Integer
그린 제스처에서 기록된 한 점의 세로 화면 위치를 가상 화면 픽셀 단위로 반환합니다.
매개 변수
index: Integer— 0부터 시작하는 점 번호로, 0에서 ContextGetPointCount() 빼기 1까지입니다. 점 0은 제스처가 시작된 위치입니다.
반환 값
y 좌표입니다. index가 범위를 벗어났거나 작업이 제스처로 트리거되지 않았으면 0입니다.
예제 2개: 제스처 획의 길이, 획은 어느 방향으로 그려졌나요?
ContextGetSerialMonitorName
ContextGetSerialMonitorName() → Text
수신한 줄로 이 스크립트를 시작한 직렬 모니터의 이름을 SerialMonitorCreate에 지정한 대로 반환합니다. 직렬 모니터의 스크립트에서만 값을 얻습니다.
매개 변수
매개 변수가 없습니다.
반환 값
모니터 이름입니다. 다른 모든 트리거에서는 빈 텍스트입니다.
ContextGetSerialPortName
ContextGetSerialPortName() → Text
수신한 줄이 도착한 COM 포트(예: COM3)를 반환합니다. 직렬 모니터의 스크립트에서만 값을 얻습니다.
매개 변수
매개 변수가 없습니다.
반환 값
포트 이름입니다. 다른 모든 트리거에서는 빈 텍스트입니다.
ContextGetSerialTextLine
ContextGetSerialTextLine() → Text
직렬 포트로 도착하여 이 스크립트를 시작한 텍스트 줄을 반환합니다. 예를 들어 Arduino가 Serial.println으로 보낸 센서 값입니다. 줄 끝 문자는 제거됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
종결 문자를 제외한 수신 줄입니다. 다른 모든 트리거에서는 빈 텍스트입니다.
예제 2개: 직렬 장치의 단추를 미디어 키에 매핑하기, Arduino 노브를 볼륨 조절기로 바꾸기
ContextGetStrokeButton
ContextGetStrokeButton() → Integer
제스처를 그렸거나 전역 마우스 단추 이벤트를 발생시킨 마우스 단추를 MouseButton 상수로 반환합니다. Windows가 왼쪽 클릭과 오른쪽 클릭으로 처리하는 단추는 주/보조 단추 전환이 적용된 후 MouseButton.Primary 또는 MouseButton.Secondary이고, 그 밖에는 MouseButton.Middle, MouseButton.X1 또는 MouseButton.X2입니다. 같은 단추를 누르려면 MouseClick이나 MouseButtonDown에 전달하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
MouseButton.Secondary 같은 MouseButton 값입니다. 다른 모든 트리거에서는 -1입니다.
예제 2개: 트리거 컨텍스트가 아는 모든 정보, 획 단추에 따라 분기하기
ContextGetWatchAction
ContextGetWatchAction() → Text
감시 중인 폴더에서 이 스크립트를 시작하게 한 변경 내용을 반환합니다: 'created', 'deleted', 'modified', 'renamed-old-name', 'renamed-new-name' 또는 'overflow'.
매개 변수
매개 변수가 없습니다.
반환 값
변경 종류입니다. 다른 모든 트리거에서는 빈 텍스트입니다. 'overflow'는 한꺼번에 너무 많은 변경이 도착하여 폴더를 다시 확인해야 한다는 뜻입니다.
예제 1개: 폴더 감시하기
ContextGetWatchName
ContextGetWatchName() → Text
이 스크립트를 시작한 폴더 감시의 이름을 FolderWatchCreate에 지정한 대로 반환합니다. 폴더 감시의 스크립트에서만 값을 얻습니다.
매개 변수
매개 변수가 없습니다.
반환 값
감시 이름입니다. 다른 모든 트리거에서는 빈 텍스트입니다.
ContextGetWatchPath
ContextGetWatchPath() → Text
변경되어 이 폴더 감시 스크립트를 시작하게 한 파일 또는 폴더의 경로를 감시 중인 폴더에 대한 상대 경로로 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
변경된 항목의 감시 폴더 기준 상대 경로입니다. 'overflow' 변경이나 다른 모든 트리거에서는 빈 텍스트입니다.
예제 1개: 폴더 감시하기
ContextGetWindow
ContextGetWindow() → Window
트리거의 대상이 된 애플리케이션 창을 반환합니다. 제스처나 마우스 아래 컨트롤, 또는 단축키나 텍스트 확장의 경우 포커스가 있는 컨트롤을 둘러싼 최상위 창입니다.
매개 변수
매개 변수가 없습니다.
반환 값
창입니다. 타이머, 폴더 감시, 직렬 모니터 또는 Load 스크립트처럼 트리거에 창이 없으면 null 창입니다.
예제 16개: 제스처 하나, 여러 선택지, 제스처의 창 최대화 전환, 창을 맨 위에 고정하기, 창 투명도 순환하기, 커서 아래의 3×2 격자 셀에 창 맞추기, 창을 다음 모니터로 보내기, 창 위치를 기억하고 복원하기, 창의 자식 컨트롤 살펴보기, 창을 트레이에 숨기기, 트리거 컨텍스트가 아는 모든 정보, 획 단추에 따라 분기하기, 5초 동안 커서를 창 안에 가두기, Ctrl을 누르고 있는 동안 동작 바꾸기, Storage에 보관하는 목록, 창을 특정 모니터로 보내기, 재사용 가능한 함수로서의 코드 조각
ContextRelayGesture
ContextRelayGesture() → Bool
그린 제스처를 같은 단추로 같은 경로를 따라 실제 마우스 끌기로 재생하여, 아래에 있는 애플리케이션이 이를 받게 합니다(예: 텍스트 선택). 끄는 동안 실제 입력은 보류됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
끌기 전체를 보낸 경우 true이고, 제스처 밖이거나 Windows가 입력의 일부를 거부한 경우 false입니다.
예제 1개: 인식되지 않은 그림을 그대로 전달하기
DateTime
DateTimeFormat
DateTimeFormat(iso: Text, style: Integer) → Text · 간단히
날짜와 시간을 사용자의 국가별 형식에 맞는 읽기 쉬운 텍스트나 정렬 가능한 FileStamp로 서식 지정합니다. Z 또는 UTC 오프셋이 있는 시간은 먼저 현지 시간으로 변환됩니다.
매개 변수
iso: Text— DateTimeGetNow가 반환하는 것과 같은 ISO 8601 형식의 날짜와 시간입니다(2026-10-05T14:05:09-04:00). 날짜만 있으면 자정을 뜻하며, Z나 오프셋이 없으면 현지 시간으로 간주됩니다. 연도는 1601에서 9999까지입니다.style: Integer— DateTimeStyle 상수입니다(예: DateTimeStyle.ShortDate, DateTimeStyle.LongDateTime, DateTimeStyle.FileStamp). 다른 값이면 작업이 오류로 중지됩니다.
반환 값
서식이 지정된 텍스트입니다(예: DateTimeStyle.FileStamp의 경우 20261005-140509). iso가 비어 있으면 빈 텍스트입니다. ISO 8601이 아닌 텍스트이면 작업이 오류로 중지됩니다.
예제 1개: 오늘 날짜와 타임스탬프가 붙은 파일 이름
DateTimeGetNow
DateTimeGetNow() → Text · 간단히
현재 현지 날짜와 시간을 초 단위까지 UTC 오프셋과 함께 ISO 8601 텍스트로 반환합니다. DateTimeFormat이나 DateTimeGetPart에 전달하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
2026-10-05T14:05:09-04:00 같은 텍스트입니다. Windows가 표준 시간대를 알려 주지 못하면 빈 텍스트입니다.
예제 1개: 오늘 날짜와 타임스탬프가 붙은 파일 이름
DateTimeGetPart
DateTimeGetPart(iso: Text, part: Integer) → Integer
날짜와 시간의 한 부분(연, 월, 일, 시, 분, 초 또는 요일)을 현지 시간 기준의 숫자로 반환합니다.
매개 변수
iso: Text— DateTimeGetNow가 반환하는 것과 같은 ISO 8601 형식의 날짜와 시간입니다. Z 또는 UTC 오프셋이 있는 시간은 현지 시간으로 변환되고, 없으면 현지 시간으로 간주됩니다.part: Integer— DateTimePart 상수입니다(예: DateTimePart.Hour, DateTimePart.Weekday). 다른 값이면 작업이 오류로 중지됩니다.
반환 값
해당 부분의 값입니다. 월은 1에서 12, 시는 0에서 23, 요일은 1(월요일)에서 7(일요일)입니다. iso가 비어 있으면 -1입니다. ISO 8601이 아닌 텍스트이면 작업이 오류로 중지됩니다.
예제 1개: 오늘 날짜와 타임스탬프가 붙은 파일 이름
Display
DisplayGetMonitorDpiFromPoint
DisplayGetMonitorDpiFromPoint(x: Integer, y: Integer) → Integer
화면의 한 점이 포함된 모니터에 Windows가 현재 사용하는 DPI를 반환합니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.
반환 값
DPI입니다(예: 100퍼센트 배율에서 96, 150퍼센트에서 144). Windows가 알려 주지 못하면 시스템 DPI입니다.
DisplayGetPixelColorFromPoint
DisplayGetPixelColorFromPoint(x: Integer, y: Integer) → Integer
한 점에 있는 화면 픽셀의 색을 현재 모니터에 표시된 그대로 반환합니다.
매개 변수
x: Integer— 픽셀의 가로 화면 위치(픽셀)입니다.y: Integer— 픽셀의 세로 화면 위치(픽셀)입니다.
반환 값
0xRRGGBB로 묶은 Integer 색 값입니다(빨강이 최상위 바이트, 파랑이 최하위 바이트). 점이 어느 모니터에도 없거나 화면을 읽을 수 없으면 -1입니다.
예제 1개: 커서 아래 픽셀 색 읽기
DisplayMonitorEnumeratedAll
DisplayMonitorEnumeratedAll() → Integer
연결된 모든 모니터의 스냅샷을 왼쪽에서 오른쪽, 위에서 아래 순서로 만들어, DisplayMonitorGetEnumerated 기본 제공 함수가 인덱스로 읽을 수 있게 합니다. 모니터가 바뀌면 다시 호출하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
스냅샷에 있는 모니터 수입니다. 유효한 인덱스는 0에서 이 수 빼기 1까지입니다.
예제 2개: 모니터 나열하기, 창을 특정 모니터로 보내기
DisplayMonitorExistsByName
DisplayMonitorExistsByName(name: Text) → Bool
이름으로 저장한 모니터가 현재 연결되어 있는지 확인합니다. FromName 사각형 기본 제공 함수는 모니터가 없을 때와 실제 좌표가 0일 때 모두 0을 반환하므로 그 전에 이 함수를 사용하십시오.
매개 변수
name: Text— 모니터 장치 경로(DisplayMonitorGetDevicePathFromPoint에서 얻는 신뢰할 수 있는 방법) 또는 DELL U2720Q 같은 모델 이름입니다. 대/소문자를 구분하지 않으며, 장치 경로가 정확히 일치하면 모델 이름보다 우선합니다.
반환 값
연결된 모니터가 이름과 일치하면 true이고, 일치하는 모니터가 없거나 name이 비어 있으면 false입니다.
DisplayMonitorGetDevicePathFromPoint
DisplayMonitorGetDevicePathFromPoint(x: Integer, y: Integer) → Text
화면의 한 점이 포함된 모니터의 장치 경로를 반환합니다. 저장해 두었다가 나중에 FromName 기본 제공 함수에 전달할 수 있는 고유한 이름입니다. 모니터를 다른 비디오 포트로 옮기면 바뀝니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.
반환 값
장치 경로입니다. Windows가 모니터를 식별할 수 없으면 빈 텍스트입니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
DisplayMonitorGetEnumeratedDevicePathAt
DisplayMonitorGetEnumeratedDevicePathAt(index: Integer) → Text
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터의 장치 경로(저장할 수 있는 고유한 이름)를 반환합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).
반환 값
장치 경로입니다. index가 범위를 벗어났거나 스냅샷 이후 모니터가 바뀌었으면 빈 텍스트입니다.
DisplayMonitorGetEnumeratedDpiAt
DisplayMonitorGetEnumeratedDpiAt(index: Integer) → Integer
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터의 DPI를 스냅샷을 만든 시점의 값으로 반환합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).
반환 값
DPI입니다(예: 100퍼센트 배율에서 96, 150퍼센트에서 144). index가 범위를 벗어나면 0입니다.
예제 1개: 모니터 나열하기
DisplayMonitorGetEnumeratedFriendlyNameAt
DisplayMonitorGetEnumeratedFriendlyNameAt(index: Integer) → Text
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터가 보고하는 모델 이름(예: DELL U2720Q)을 반환합니다. 같은 모델의 모니터 두 대는 같은 이름을 보고합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).
반환 값
모델 이름입니다. index가 범위를 벗어났거나, 모니터가 이름을 보고하지 않거나(노트북 내장 화면에서 흔함), 스냅샷 이후 모니터가 바뀌었으면 빈 텍스트입니다.
예제 1개: 모니터 나열하기
DisplayMonitorGetEnumeratedHeightAt
DisplayMonitorGetEnumeratedHeightAt(index: Integer, workArea: Bool) → Integer
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터의 전체 영역 또는 작업 영역의 높이를 스냅샷을 만든 시점의 값으로 반환합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
높이(픽셀)입니다. index가 범위를 벗어나면 0입니다.
예제 1개: 모니터 나열하기
DisplayMonitorGetEnumeratedWidthAt
DisplayMonitorGetEnumeratedWidthAt(index: Integer, workArea: Bool) → Integer
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터의 전체 영역 또는 작업 영역의 너비를 스냅샷을 만든 시점의 값으로 반환합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
너비(픽셀)입니다. index가 범위를 벗어나면 0입니다.
예제 1개: 모니터 나열하기
DisplayMonitorGetEnumeratedXAt
DisplayMonitorGetEnumeratedXAt(index: Integer, workArea: Bool) → Integer
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터의 전체 영역 또는 작업 영역의 왼쪽 가장자리를 스냅샷을 만든 시점의 값으로 반환합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
왼쪽 가장자리(화면 픽셀)입니다(주 모니터 왼쪽에 있는 모니터는 음수). index가 범위를 벗어나면 0입니다. 0은 실제 가장자리 값일 수도 있으므로 index를 모니터 수와 비교하여 확인하십시오.
DisplayMonitorGetEnumeratedYAt
DisplayMonitorGetEnumeratedYAt(index: Integer, workArea: Bool) → Integer
마지막 DisplayMonitorEnumeratedAll 스냅샷에 있는 모니터의 전체 영역 또는 작업 영역의 위쪽 가장자리를 스냅샷을 만든 시점의 값으로 반환합니다.
매개 변수
index: Integer— 마지막 DisplayMonitorEnumeratedAll 스냅샷에서 모니터의 위치로, 0부터 시작합니다(왼쪽에서 오른쪽, 그다음 위에서 아래 순서).workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
위쪽 가장자리(화면 픽셀)입니다(주 모니터 위에 있는 모니터는 음수). index가 범위를 벗어나면 0입니다. 0은 실제 가장자리 값일 수도 있으므로 index를 모니터 수와 비교하여 확인하십시오.
DisplayMonitorGetFriendlyNameFromPoint
DisplayMonitorGetFriendlyNameFromPoint(x: Integer, y: Integer) → Text
화면의 한 점이 포함된 모니터의 모델 이름(예: DELL U2720Q)을 반환합니다. 읽기 쉽지만 고유하지는 않아서, 같은 모델의 모니터 두 대는 같은 이름을 보고합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.
반환 값
모델 이름입니다. 모니터가 이름을 보고하지 않으면(노트북 내장 화면에서 흔함) 빈 텍스트입니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
DisplayMonitorGetRectHeightFromName
DisplayMonitorGetRectHeightFromName(name: Text, workArea: Bool) → Integer
저장된 장치 경로나 모델 이름으로 찾은 연결된 모니터의 전체 영역 또는 작업 영역의 높이를 반환합니다.
매개 변수
name: Text— 모니터 장치 경로(신뢰할 수 있는 방법) 또는 DELL U2720Q 같은 모델 이름입니다. 대/소문자를 구분하지 않으며, 장치 경로가 정확히 일치하면 모델 이름보다 우선합니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
높이(픽셀)입니다. 이름과 일치하는 연결된 모니터가 없으면 0입니다.
DisplayMonitorGetRectHeightFromPoint
DisplayMonitorGetRectHeightFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer
화면의 한 점이 포함된 모니터의 전체 영역 또는 작업 영역의 높이를 반환합니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
높이(픽셀)입니다.
예제 2개: 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기
DisplayMonitorGetRectWidthFromName
DisplayMonitorGetRectWidthFromName(name: Text, workArea: Bool) → Integer
저장된 장치 경로나 모델 이름으로 찾은 연결된 모니터의 전체 영역 또는 작업 영역의 너비를 반환합니다.
매개 변수
name: Text— 모니터 장치 경로(신뢰할 수 있는 방법) 또는 DELL U2720Q 같은 모델 이름입니다. 대/소문자를 구분하지 않으며, 장치 경로가 정확히 일치하면 모델 이름보다 우선합니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
너비(픽셀)입니다. 이름과 일치하는 연결된 모니터가 없으면 0입니다.
DisplayMonitorGetRectWidthFromPoint
DisplayMonitorGetRectWidthFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer
화면의 한 점이 포함된 모니터의 전체 영역 또는 작업 영역의 너비를 반환합니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
너비(픽셀)입니다.
예제 3개: else-if 연쇄, 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기
DisplayMonitorGetRectXFromName
DisplayMonitorGetRectXFromName(name: Text, workArea: Bool) → Integer
저장된 장치 경로나 모델 이름으로 찾은 연결된 모니터의 전체 영역 또는 작업 영역의 왼쪽 가장자리를 반환합니다.
매개 변수
name: Text— 모니터 장치 경로(신뢰할 수 있는 방법) 또는 DELL U2720Q 같은 모델 이름입니다. 대/소문자를 구분하지 않으며, 장치 경로가 정확히 일치하면 모델 이름보다 우선합니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
왼쪽 가장자리(화면 픽셀)입니다. 이름과 일치하는 연결된 모니터가 없으면 0입니다. 0은 실제 가장자리 값일 수도 있으므로 먼저 DisplayMonitorExistsByName으로 확인하십시오.
DisplayMonitorGetRectXFromPoint
DisplayMonitorGetRectXFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer
화면의 한 점이 포함된 모니터의 전체 영역 또는 작업 영역의 왼쪽 가장자리를 반환합니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
왼쪽 가장자리(화면 픽셀)입니다. 주 모니터 왼쪽에 있는 모니터는 음수입니다.
예제 3개: else-if 연쇄, 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기
DisplayMonitorGetRectYFromName
DisplayMonitorGetRectYFromName(name: Text, workArea: Bool) → Integer
저장된 장치 경로나 모델 이름으로 찾은 연결된 모니터의 전체 영역 또는 작업 영역의 위쪽 가장자리를 반환합니다.
매개 변수
name: Text— 모니터 장치 경로(신뢰할 수 있는 방법) 또는 DELL U2720Q 같은 모델 이름입니다. 대/소문자를 구분하지 않으며, 장치 경로가 정확히 일치하면 모델 이름보다 우선합니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
위쪽 가장자리(화면 픽셀)입니다. 이름과 일치하는 연결된 모니터가 없으면 0입니다. 0은 실제 가장자리 값일 수도 있으므로 먼저 DisplayMonitorExistsByName으로 확인하십시오.
DisplayMonitorGetRectYFromPoint
DisplayMonitorGetRectYFromPoint(x: Integer, y: Integer, workArea: Bool) → Integer
화면의 한 점이 포함된 모니터의 전체 영역 또는 작업 영역의 위쪽 가장자리를 반환합니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 사용합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.workArea: Bool— 작업 표시줄과 도킹된 도구 모음을 제외한 작업 영역이면 true이고, 모니터 전체이면 false입니다.
반환 값
위쪽 가장자리(화면 픽셀)입니다. 주 모니터 위에 있는 모니터는 음수입니다.
예제 2개: 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기
Engine
EngineConsumePhysicalInput
EngineConsumePhysicalInput(enable: Bool, timeoutSeconds: Integer) → Bool
사용자의 실제 마우스 및 키보드 입력이 어떤 창에도 전달되지 않도록 차단하거나 그 차단을 끝냅니다. 스크립트가 보내는 입력은 계속 작동하며, 시간 제한이 지나면 차단이 자동으로 끝납니다.
매개 변수
enable: Bool— 실제 입력 차단을 시작하거나 다시 시작하려면 true, 어느 스크립트가 시작했든 차단을 끝내려면 false입니다.timeoutSeconds: Integer— 차단이 지속되는 최대 시간(초)으로, enable이 true이면 1 이상이어야 합니다. 더 긴 값은 [스크립트] 설정 페이지의 최댓값(기본값 120초)으로 줄어듭니다. enable이 false이면 무시됩니다.
반환 값
항상 true입니다. enable이 true일 때 timeoutSeconds가 0 이하이면 스크립트가 오류로 중지됩니다.
EngineDisable
EngineDisable() → Bool · 간단히
트레이 아이콘에서 사용하지 않도록 설정하는 것과 마찬가지로, EngineEnable 또는 트레이 아이콘으로 다시 켤 때까지 엔진을 사용하지 않도록 설정합니다. 변경은 호출이 반환된 직후에 적용됩니다. 안전 모드에서는 아무 작업도 하지 않습니다.
매개 변수
매개 변수가 없습니다.
반환 값
요청을 보낸 경우 true이고, 엔진이 아직 시작을 마치지 않았으면 false입니다.
예제 1개: 엔진 상태
EngineDisableNextGesture
EngineDisableNextGesture() → Bool · 간단히
다음 한 번에 한해, 그리기 단추를 누르면 제스처를 시작하지 않고 애플리케이션에 그대로 전달되게 합니다. 엔진이 사용하지 않도록 설정된 동안에는 효과가 없습니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
예제 1개: 다음 오른쪽 끌기를 그대로 통과시키기
EngineEnable
EngineEnable() → Bool · 간단히
EngineDisable이나 트레이 아이콘으로 사용하지 않도록 설정한 엔진을 다시 사용하도록 설정합니다. 변경은 호출이 반환된 직후에 적용됩니다. 안전 모드에서는 아무 작업도 하지 않습니다.
매개 변수
매개 변수가 없습니다.
반환 값
요청을 보낸 경우 true이고, 엔진이 아직 시작을 마치지 않았으면 false입니다.
EngineExit
EngineExit() → Bool · 간단히
트레이 메뉴의 [끝내기]와 마찬가지로 정상 종료 절차로 엔진을 닫습니다. 트레이에 숨긴 창은 복원되고 구성 UI는 닫힙니다. 종료는 호출이 반환된 직후에 시작됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
종료 요청을 보낸 경우 true이고, 엔진이 아직 시작을 마치지 않았으면 false입니다.
EngineIsDisabled
EngineIsDisabled() → Bool
EngineDisable이나 트레이 아이콘으로, 또는 포커스가 있는 애플리케이션에 대해 자동으로 엔진이 현재 사용하지 않도록 설정되어 있는지를 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
엔진이 사용하지 않도록 설정되어 있으면 true이고, 활성 상태이면 false입니다.
예제 1개: 엔진 상태
EngineIsSafeMode
EngineIsSafeMode() → Bool
엔진이 안전 모드로 시작되었는지를 반환합니다. 안전 모드에서는 진단 콘솔에서 실행한 스크립트만 실행할 수 있습니다.
매개 변수
매개 변수가 없습니다.
반환 값
안전 모드이면 true이고, 그렇지 않으면 false입니다.
예제 1개: 엔진 상태
EngineReload
EngineReload() → Bool · 간단히
트레이 메뉴의 [구성 다시 로드]처럼 다시 시작하지 않고 디스크에서 구성을 다시 로드합니다. 최대 3초 동안 기다립니다. 실행 중인 다른 모든 스크립트는 중지되고 이 스크립트는 계속 실행됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
새 구성이 사용되기 시작하면 true이고, 구성을 로드할 수 없거나 다시 로드에 3초보다 오래 걸리면 false입니다.
EngineStopAllActions
EngineStopAllActions() → Bool · 간단히
이 함수를 호출하는 작업을 포함하여 실행 중인 모든 작업과 스크립트에 중지를 요청합니다. 강제로 종료되는 것은 없습니다. 각 스크립트는 다음 단계에서 중지되므로 호출한 스크립트가 조금 더 실행될 수 있습니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
File
FileAppendText
FileAppendText(path: Text, text: Text) → Bool
텍스트 파일의 끝에 텍스트를 추가하며, 파일이 없으면 새로 만듭니다. 로그에 유용합니다. 텍스트는 UTF-8로 기록되며 줄 바꿈은 자동으로 추가되지 않습니다.
매개 변수
path: Text— 파일의 전체 경로입니다. 해당 폴더가 이미 있어야 합니다.text: Text— 추가할 텍스트입니다. 한 줄에 항목 하나씩 유지하려면 끝에 '\n'을 붙이십시오.
반환 값
텍스트를 쓴 경우 true이고, 폴더가 없거나 파일이 잠겨 있거나 기존 파일의 시작 부분이 이진 데이터로 보이는 경우 false입니다.
예제 1개: 로그 파일에 추가하기
FileCopy
FileCopy(source: Text, destination: Text, overwrite: Bool) → Bool
모든 형식의 파일을 새 경로로 복사합니다. 대상 폴더가 이미 있어야 합니다.
매개 변수
source: Text— 복사할 파일의 전체 경로입니다.destination: Text— 파일 이름을 포함한 새 복사본의 전체 경로입니다.overwrite: Bool— destination에 있는 기존 파일을 바꾸려면 true, 그대로 두고 false를 반환하려면 false입니다.
반환 값
파일을 복사한 경우 true이고, 원본이 없거나, 대상이 있고 overwrite가 false이거나, 복사에 실패한 경우 false입니다.
예제 1개: 편집하기 전에 파일 백업하기
FileCreate
FileCreate(path: Text, text: Text) → Bool
지정한 내용으로 새 텍스트 파일을 UTF-8로 만듭니다. 해당 경로에 이미 무엇이든 있으면 거부합니다. 기존 파일의 내용을 바꾸려면 FileEditText를 사용하십시오.
매개 변수
path: Text— 새 파일의 전체 경로입니다. 해당 폴더가 이미 있어야 합니다.text: Text— 파일 내용입니다. 빈 텍스트이면 빈 파일이 만들어집니다.
반환 값
파일을 만든 경우 true이고, 그 위치에 파일이나 폴더가 이미 있거나 파일을 쓸 수 없는 경우 false입니다.
예제 2개: 오늘 날짜와 타임스탬프가 붙은 파일 이름, 로그 파일에 추가하기
FileDelete
FileDelete(path: Text) → Bool
파일을 영구적으로 삭제하며, 휴지통으로 이동하지 않습니다. 이미 없는 파일은 성공으로 간주됩니다. 폴더는 삭제하지 않으므로 폴더에는 FolderDelete를 사용하십시오.
매개 변수
path: Text— 삭제할 파일의 전체 경로입니다.
반환 값
파일이 없어진 경우(처음부터 없었던 경우 포함) true이고, 경로가 폴더이거나 파일이 잠겨 있거나 액세스가 거부된 경우 false입니다.
FileEditText
FileEditText(path: Text, text: Text) → Bool
기존 텍스트 파일의 전체 내용을 UTF-8로 바꿉니다. 이진 데이터로 보이는 파일은 거부합니다. 새 파일에는 FileCreate를 사용하십시오.
매개 변수
path: Text— 기존 텍스트 파일의 전체 경로입니다.text: Text— 파일의 모든 내용을 바꿀 새 내용입니다.
반환 값
파일을 다시 쓴 경우 true이고, 파일이 없거나 파일의 시작 부분이 이진 데이터로 보이거나 쓸 수 없는 경우 false입니다.
예제 1개: 편집하기 전에 파일 백업하기
FileExists
FileExists(path: Text) → Bool
경로에 파일이 있는지 확인합니다. 해당 경로의 폴더는 포함되지 않으므로 폴더에는 FolderExists를 사용하십시오.
매개 변수
path: Text— 확인할 파일의 전체 경로입니다.
반환 값
그 위치에 파일이 있으면 true이고, 아무것도 없거나 폴더이면 false입니다.
예제 2개: 로그 파일에 추가하기, 편집하기 전에 파일 백업하기
FileGetCreationDate
FileGetCreationDate(path: Text) → Text
파일을 만든 시간을 DateTimeFormat 및 다른 DateTime 기본 제공 함수가 읽을 수 있는 UTC 기준 ISO 8601 날짜와 시간으로 반환합니다.
매개 변수
path: Text— 파일의 전체 경로입니다.
반환 값
만든 시간입니다(예: 2026-10-01T18:05:09Z). 파일이 없거나 경로가 폴더이면 빈 텍스트입니다.
FileGetModifiedDate
FileGetModifiedDate(path: Text) → Text
파일 내용이 마지막으로 변경된 시간을 DateTimeFormat 및 다른 DateTime 기본 제공 함수가 읽을 수 있는 UTC 기준 ISO 8601 날짜와 시간으로 반환합니다.
매개 변수
path: Text— 파일의 전체 경로입니다.
반환 값
마지막으로 수정한 시간입니다(예: 2026-10-01T18:05:09Z). 파일이 없거나 경로가 폴더이면 빈 텍스트입니다.
예제 1개: 파일을 읽고 줄 수 세기
FileGetProductVersion
FileGetProductVersion(path: Text) → Text
프로그램 또는 라이브러리 파일(예: .exe 또는 .dll)에 저장된 제품 버전을 반환합니다. 파일이 함께 제공되는 제품의 버전이며 FileGetVersion과 다를 수 있습니다.
매개 변수
path: Text— 버전 정보가 있는 .exe, .dll 또는 기타 파일의 전체 경로입니다.
반환 값
네 개의 숫자로 된 버전입니다(예: 10.0.22621.1). 파일에 버전 정보가 없거나 파일이 없으면 빈 텍스트입니다.
FileGetSize
FileGetSize(path: Text) → Integer
파일을 열거나 읽지 않고 파일 크기를 바이트 단위로 반환합니다.
매개 변수
path: Text— 파일의 전체 경로입니다.
반환 값
크기(바이트)입니다. 파일이 없거나 경로가 폴더이면 -1입니다.
예제 1개: 파일을 읽고 줄 수 세기
FileGetVersion
FileGetVersion(path: Text) → Text
프로그램 또는 라이브러리 파일(예: .exe 또는 .dll)에 저장된 파일 버전을 해당 파일 [속성]의 [자세히] 탭에 표시되는 대로 반환합니다.
매개 변수
path: Text— 버전 정보가 있는 .exe, .dll 또는 기타 파일의 전체 경로입니다.
반환 값
네 개의 숫자로 된 버전입니다(예: 10.0.22621.1). 파일에 버전 정보가 없거나 파일이 없으면 빈 텍스트입니다.
FileMove
FileMove(source: Text, destination: Text, overwrite: Bool) → Bool
모든 형식의 파일을 새 경로로 이동하며, 이때 대/소문자만 바꾸는 것을 포함하여 새 이름을 지정할 수도 있습니다. 대상 폴더가 이미 있어야 합니다.
매개 변수
source: Text— 이동할 파일의 전체 경로입니다.destination: Text— 파일 이름을 포함한 파일의 새 위치 전체 경로입니다.overwrite: Bool— destination에 있는 기존 파일을 한 번에 바꾸려면 true, 그대로 두고 false를 반환하려면 false입니다. 원본과 대/소문자만 다른 대상은 기존 파일로 간주되지 않습니다.
반환 값
파일을 이동한 경우 true이고, 원본이 없거나, 대상이 있고 overwrite가 false이거나, 이동에 실패한 경우 false입니다.
FileReadText
FileReadText(path: Text) → Text
텍스트 파일 전체를 읽어 내용을 반환합니다. UTF-8, 바이트 순서 표시가 있는 UTF-16, 시스템의 레거시 코드 페이지로 된 파일을 인식합니다. 이진 파일은 거부합니다.
매개 변수
path: Text— 텍스트 파일의 전체 경로입니다.
반환 값
파일 내용입니다. 파일이 없거나, 읽을 수 없거나, 이진 데이터로 보이면 빈 텍스트입니다.
예제 2개: 파일을 읽고 줄 수 세기, 편집하기 전에 파일 백업하기
FileRename
FileRename(path: Text, newName: Text) → Bool
파일 이름을 바꾸고 현재 폴더에 그대로 둡니다. report.txt를 Report.txt로 바꾸는 것처럼 대/소문자만 바꾸는 것도 가능합니다. 파일을 다른 폴더로 옮기려면 FileMove를 사용하십시오.
매개 변수
path: Text— 이름을 바꿀 파일의 전체 경로입니다.newName: Text— 새 파일 이름만 지정합니다(예: report-old.txt). 이름에 슬래시나 백슬래시가 있으면 스크립트가 오류로 중지됩니다.
반환 값
파일 이름을 바꾼 경우 true이고, 파일이 없거나, 새 이름을 가진 다른 파일이나 폴더가 이미 있거나, 이름 바꾸기에 실패한 경우 false입니다.
Folder
FolderCreate
FolderCreate(path: Text) → Bool
없는 상위 폴더를 포함하여 폴더를 만듭니다. 이미 있는 폴더는 성공으로 간주됩니다.
매개 변수
path: Text— 만들 폴더의 전체 경로입니다.
반환 값
작업 후 폴더가 있으면 true이고, 같은 이름의 파일이 있거나 폴더를 만들 수 없으면 false입니다.
FolderDelete
FolderDelete(path: Text, recursive: Bool) → Bool
폴더를 영구적으로 삭제하며, 휴지통으로 이동하지 않습니다. recursive가 true이면 폴더 안의 모든 내용도 삭제됩니다. 이미 없는 폴더는 성공으로 간주됩니다. 파일은 삭제하지 않으므로 파일에는 FileDelete를 사용하십시오.
매개 변수
path: Text— 삭제할 폴더의 전체 경로입니다.recursive: Bool— 폴더와 그 안의 모든 내용을 삭제하려면 true, 폴더가 비어 있을 때만 삭제하려면 false입니다.
반환 값
폴더가 없어진 경우 true이고, 경로가 파일이거나, 폴더가 비어 있지 않은데 recursive가 false이거나 안의 항목이 잠겨 있거나 보호되어 있으면 false입니다.
FolderEnumerateAll
FolderEnumerateAll(path: Text, recursive: Bool) → Integer
폴더에 있는 파일과 하위 폴더의 목록을 만들고 개수를 반환합니다. 각 전체 경로는 FolderGetEnumeratedPathAt으로 읽습니다. 액세스할 수 없는 하위 폴더는 건너뜁니다.
매개 변수
path: Text— 목록을 만들 폴더의 전체 경로입니다.recursive: Bool— 모든 하위 폴더 안의 내용까지 나열하려면 true, 폴더의 직접 내용만 나열하려면 false입니다.
반환 값
찾은 항목 수입니다. 폴더가 없거나 읽을 수 없으면 -1입니다.
예제 1개: 폴더의 파일 형식별 개수 세기
FolderExists
FolderExists(path: Text) → Bool
경로에 폴더가 있는지 확인합니다. 해당 경로의 파일은 포함되지 않으므로 파일에는 FileExists를 사용하십시오.
매개 변수
path: Text— 확인할 폴더의 전체 경로입니다.
반환 값
그 위치에 폴더가 있으면 true이고, 아무것도 없거나 파일이면 false입니다.
FolderGetEnumeratedPathAt
FolderGetEnumeratedPathAt(index: Integer) → Text
이번 스크립트 실행에서 마지막 FolderEnumerateAll 호출로 만든 목록의 전체 경로 하나를 반환합니다.
매개 변수
index: Integer— 목록에서의 위치로, 0에서 FolderEnumerateAll이 반환한 개수 빼기 1까지입니다.
반환 값
파일 또는 폴더의 전체 경로입니다. index가 범위를 벗어났거나 FolderEnumerateAll을 호출하지 않았으면 빈 텍스트입니다.
예제 1개: 폴더의 파일 형식별 개수 세기
FolderRename
FolderRename(path: Text, newName: Text) → Bool
폴더 이름을 바꾸고 폴더와 그 내용을 현재 상위 폴더에 그대로 둡니다. 대/소문자만 바꾸는 것도 가능합니다.
매개 변수
path: Text— 이름을 바꿀 폴더의 전체 경로입니다.newName: Text— 새 폴더 이름만 지정합니다. 이름에 슬래시나 백슬래시가 있으면 스크립트가 오류로 중지됩니다.
반환 값
폴더 이름을 바꾼 경우 true이고, 폴더가 없거나, 새 이름을 가진 다른 파일이나 폴더가 이미 있거나, 안의 파일이 열려 있는 등의 이유로 이름 바꾸기에 실패한 경우 false입니다.
FolderWatchCreate
FolderWatchCreate(name: Text, path: Text, recursive: Bool, filterMask: Integer, script: Text) → Bool
폴더 감시를 시작하고, 파일 생성, 변경, 이름 바꾸기, 삭제 등 Windows가 보고하는 모든 변경에 대해 스크립트를 실행합니다. 감시는 이 스크립트가 끝난 후에도 계속 실행됩니다.
매개 변수
name: Text— 감시의 이름입니다. 이미 사용 중인 이름으로 감시를 만들면 해당 감시가 바뀝니다. 이름은 대/소문자를 구분합니다.path: Text— 감시할 폴더의 전체 경로입니다.recursive: Bool— 모든 하위 폴더도 감시하려면 true, 폴더 자체만 감시하려면 false입니다.filterMask: Integer— 보고할 변경 종류입니다. FileNotify 상수를 |로 조합합니다(예: FileNotify.FileName | FileNotify.LastWrite).script: Text— 각 변경에 대해 실행할 스크립트(Text)입니다. 스크립트는 ContextGetWatchAction(created, deleted, modified, renamed-old-name, renamed-new-name 또는 overflow)과 ContextGetWatchPath로 변경 내용을 읽습니다.
반환 값
감시가 실행 중이면 true이고, 폴더가 없거나, 열 수 없거나, filterMask가 0이면 false입니다.
예제 1개: 폴더 감시하기
FolderWatchDelete
FolderWatchDelete(name: Text) → Bool
FolderWatchCreate로 만든 폴더 감시를 중지하여 해당 스크립트가 더 이상 실행되지 않게 합니다.
매개 변수
name: Text— FolderWatchCreate에 지정한 이름입니다. 이름은 대/소문자를 구분합니다.
반환 값
해당 이름의 감시를 찾아 중지한 경우 true이고, 없었으면 false입니다.
예제 1개: 폴더 감시하기
FolderWatchDeleteAll
FolderWatchDeleteAll() → Bool
FolderWatchCreate로 만든 모든 폴더 감시를 중지하여 해당 스크립트가 더 이상 실행되지 않게 합니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
FolderWatchGetCount
FolderWatchGetCount() → Integer
실행 중인 폴더 감시의 개수를 반환하고, FolderWatchGetEnumeratedNameAt에서 사용할 수 있도록 그 이름의 스냅샷을 만듭니다.
매개 변수
매개 변수가 없습니다.
반환 값
실행 중인 폴더 감시의 개수입니다. 없으면 0입니다.
FolderWatchGetEnumeratedNameAt
FolderWatchGetEnumeratedNameAt(index: Integer) → Text
이번 스크립트 실행에서 마지막 FolderWatchGetCount 호출로 만든 스냅샷의 감시 이름 하나를 반환합니다.
매개 변수
index: Integer— 스냅샷에서의 위치로, 0에서 개수 빼기 1까지입니다. 순서에는 의미가 없습니다.
반환 값
감시 이름입니다. index가 범위를 벗어났거나 FolderWatchGetCount를 호출하지 않았으면 빈 텍스트입니다.
GestureProfile
GestureProfileEnumerateAll
GestureProfileEnumerateAll() → Integer
구성에 있는 모든 제스처 프로필의 목록을 만들고 개수를 반환합니다. 각 프로필은 GestureProfileGetEnumeratedIdAt과 GestureProfileGetEnumeratedNameAt으로 읽습니다.
매개 변수
매개 변수가 없습니다.
반환 값
제스처 프로필 수입니다. 없으면 0입니다.
예제 1개: 다음 제스처 프로필로 순환하기
GestureProfileGetActiveId
GestureProfileGetActiveId() → Text
현재 활성 상태인 제스처 프로필의 ID를 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
활성 프로필의 ID입니다. 활성 프로필이 없으면 빈 텍스트입니다.
예제 2개: Windows 알림, 다음 제스처 프로필로 순환하기
GestureProfileGetEnumeratedIdAt
GestureProfileGetEnumeratedIdAt(index: Integer) → Text
이 스크립트에서 GestureProfileEnumerateAll로 마지막에 만든 목록에 있는 프로필 하나의 ID를 반환합니다. 이 ID를 GestureProfileSwitch에 전달하십시오.
매개 변수
index: Integer— 목록에서의 위치로, 0부터 시작하며 0에서 개수 빼기 1까지입니다.
반환 값
프로필의 ID입니다. index가 범위를 벗어났거나 GestureProfileEnumerateAll을 호출하지 않았으면 빈 텍스트입니다.
예제 1개: 다음 제스처 프로필로 순환하기
GestureProfileGetEnumeratedNameAt
GestureProfileGetEnumeratedNameAt(index: Integer) → Text
이 스크립트에서 GestureProfileEnumerateAll로 마지막에 만든 목록에 있는 프로필 하나의 표시 이름을 반환합니다.
매개 변수
index: Integer— 목록에서의 위치로, 0부터 시작하며 0에서 개수 빼기 1까지입니다.
반환 값
프로필 이름입니다. index가 범위를 벗어났거나 GestureProfileEnumerateAll을 호출하지 않았으면 빈 텍스트입니다.
예제 1개: 다음 제스처 프로필로 순환하기
GestureProfileSwitch
GestureProfileSwitch(profileId: Text) → Bool · 간단히
트레이 메뉴에서 선택하는 것과 마찬가지로 다른 제스처 프로필로 전환하며, 다시 시작한 후에도 선택이 유지됩니다. 전환은 호출이 반환된 직후에 이루어집니다.
매개 변수
profileId: Text— 전환할 프로필의 ID(예: GestureProfileGetEnumeratedIdAt에서 얻은 ID)이며, 프로필을 사용하지 않으려면 빈 텍스트입니다.
반환 값
요청을 보낸 경우 true이고, 해당 ID를 가진 프로필이 없으면 false이며 아무것도 바뀌지 않습니다. 전환은 호출이 반환된 직후에 이루어지므로 GestureProfileGetActiveId로 확인하십시오.
예제 1개: 다음 제스처 프로필로 순환하기
Keyboard
KeyboardGetKeyState
KeyboardGetKeyState(key: Integer) → Integer
키의 현재 원시 Windows 상태를 반환합니다. UAC 확인 메시지나 잠금 화면 같은 다른 데스크톱이 앞에 있는 동안에는 모든 키가 눌려 있지 않은 것으로 읽힙니다. 예 또는 아니요로만 알려면 KeyboardIsKeyDown이나 KeyboardIsKeyToggled를 사용하십시오.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.CapsLock) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
원시 Integer 값입니다. 키가 눌려 있으면 음수(최상위 비트 설정)이고, Caps Lock 같은 잠금 키가 켜져 있으면 홀수(최하위 비트 설정)입니다.
예제 1개: 키 상태 비트
KeyboardGetKeyStateAsync
KeyboardGetKeyStateAsync(key: Integer) → Integer
어느 창에 포커스가 있든 바로 이 순간 키의 원시 Windows 상태를 반환합니다.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.ShiftKey) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
원시 Integer 값입니다. 키가 지금 눌려 있으면 음수(최상위 비트 설정)입니다. 이전 확인 이후 키가 눌린 적이 있으면 최하위 비트가 설정될 수 있지만 Windows가 이를 보장하지는 않습니다.
KeyboardIsKeyDown
KeyboardIsKeyDown(key: Integer) → Bool
키가 지금 눌려 있는지 확인합니다. UAC 확인 메시지나 잠금 화면 같은 다른 데스크톱이 앞에 있는 동안에는 모든 키가 눌려 있지 않은 것으로 읽힙니다.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.ControlKey) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
키가 눌려 있으면 true이고, 놓여 있으면 false입니다.
예제 2개: 키 상태 비트, Ctrl을 누르고 있는 동안 동작 바꾸기
KeyboardIsKeyToggled
KeyboardIsKeyToggled(key: Integer) → Bool
잠금 키가 켜져 있는지 확인합니다. VirtualKey.CapsLock, VirtualKey.NumLock, VirtualKey.Scroll에만 의미가 있습니다.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.CapsLock) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
잠금 키가 켜져 있으면 true이고, 꺼져 있으면 false입니다.
예제 1개: 키 상태 비트
KeyboardKeyDown
KeyboardKeyDown(key: Integer) → Bool
키를 누르고 KeyboardKeyUp으로 놓을 때까지 누른 상태로 유지합니다. [미디어 및 브라우저 키를 명령으로 보내기] 설정이 켜져 있으면 미디어, 볼륨 또는 브라우저 키는 대신 해당 명령을 보냅니다.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.ShiftKey) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
키 누름을 보낸 경우 true이고, Windows가 차단했거나 명령으로 보내는 키인데 포커스가 있는 창이 없으면 false입니다.
예제 1개: Shift+클릭
KeyboardKeyUp
KeyboardKeyUp(key: Integer) → Bool
KeyboardKeyDown으로 누른 키를 놓습니다. 명령으로 보낸 미디어, 볼륨 또는 브라우저 키의 경우 명령이 이미 누를 때 전송되었으므로 아무 작업도 하지 않습니다.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.ShiftKey) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
키 놓기를 보낸 경우 true이며, 명령으로 보낸 키는 항상 true입니다. Windows가 차단한 경우 false입니다.
예제 1개: Shift+클릭
KeyboardPressKey
KeyboardPressKey(key: Integer) → Bool · 간단히
키 하나를 눌렀다 놓습니다. 미디어 키를 포함하여 Windows에 코드가 있는 모든 키를 사용할 수 있습니다. [미디어 및 브라우저 키를 명령으로 보내기] 설정이 켜져 있으면 해당 키는 대신 명령을 보냅니다.
매개 변수
key: Integer— VirtualKey 상수(예: VirtualKey.MediaPlayPause) 또는 0에서 255 사이의 가상 키 코드입니다. 다른 값이면 스크립트가 오류로 중지됩니다.
반환 값
키 누름을 보낸 경우 true이고, Windows가 차단했거나 명령으로 보내는 키인데 포커스가 있는 창이 없으면 false입니다.
예제 3개: 명명된 상수와 숫자 그대로 쓰기, 미디어 키, 직렬 장치의 단추를 미디어 키에 매핑하기
KeyboardPressKeyCombo
KeyboardPressKeyCombo(combo: Text) → Bool · 간단히
Ctrl+C 같은 키 조합 하나를 누릅니다. 한정자 키를 누른 상태에서 키를 눌렀다 놓은 다음 한정자 키를 놓습니다. 호출 한 번에 조합 하나를 보냅니다.
매개 변수
combo: Text— 선택적 한정자 기호(Ctrl은 ^, Shift는 +, Windows는 @, Alt는 퍼센트 기호) 다음에 문자나 숫자 하나, 또는 {ENTER}, {F5}, {LEFT}처럼 중괄호로 묶은 키 이름을 대/소문자 구분 없이 지정합니다. 예: '^c'는 Ctrl+C입니다.
반환 값
키 입력을 보낸 경우 true이고, Windows가 차단한 경우 false입니다. 인식할 수 없는 조합이면 스크립트가 오류로 중지됩니다.
예제 4개: 키 조합, 서명 입력하기, 선택한 텍스트를 대문자로 바꾸기, 선택 영역으로 웹 검색하기
KeyboardTypeText
KeyboardTypeText(text: Text) → Bool · 간단히
키보드 레이아웃에 관계없이 포커스가 있는 창에 텍스트를 한 문자씩 입력하며, 모든 언어와 이모지를 지원합니다. 각 문자 앞에서 [입력 지연] 설정만큼 기다립니다.
매개 변수
text: Text— 입력할 텍스트입니다. 각 줄 바꿈은 Enter 키 한 번으로 보내집니다. 텍스트 확장의 스크립트에서는 트리거를 끝낸 키가 텍스트 다음에 입력됩니다.
반환 값
모든 문자를 보냈거나 텍스트가 비어 있으면 true이고, Windows가 일부 문자를 차단한 경우 false입니다.
예제 3개: 프로그램을 실행하고 창을 기다린 다음 작업하기, 오늘 날짜와 타임스탬프가 붙은 파일 이름, 서명 입력하기
Macro
MacroClearTemporary
MacroClearTemporary() → Bool
MacroRecordTemporary로 기록한 매크로를 삭제합니다.
매개 변수
매개 변수가 없습니다.
반환 값
삭제할 기록된 매크로가 있었으면 true이고, 없었으면 false입니다.
MacroExpectFocusedWindow
MacroExpectFocusedWindow(exeName: Text, windowClass: Text) → Bool
설정의 매크로 재생 대기 시간(기본값 2초)까지, 전경 창이 지정한 프로그램과 창 클래스에 속할 때까지 기다립니다. 끝내 일치하지 않으면 알림을 표시하고 스크립트를 중지합니다.
매개 변수
exeName: Text— 프로그램의 파일 이름입니다(예: notepad.exe). 대/소문자를 구분하지 않으며, 빈 텍스트는 모든 프로그램과 일치합니다.windowClass: Text— 최상위 창의 클래스 이름입니다(예: Notepad). 대/소문자를 구분하지 않으며, 빈 텍스트는 모든 클래스와 일치합니다.
반환 값
창이 일치하면 true이고, 기다리는 동안 스크립트에 중지 요청이 있었으면 false입니다.
MacroExpectWindowAt
MacroExpectWindowAt(x: Integer, y: Integer, exeName: Text, windowClass: Text) → Bool
설정의 매크로 재생 대기 시간(기본값 2초)까지, 화면의 한 점에 있는 최상위 창이 지정한 프로그램과 창 클래스에 속할 때까지 기다립니다. 끝내 일치하지 않으면 알림을 표시하고 스크립트를 중지합니다.
매개 변수
x: Integer— 확인할 가로 화면 위치(가상 화면 픽셀)입니다.y: Integer— 확인할 세로 화면 위치(가상 화면 픽셀)입니다.exeName: Text— 프로그램의 파일 이름입니다(예: notepad.exe). 대/소문자를 구분하지 않으며, 빈 텍스트는 모든 프로그램과 일치합니다.windowClass: Text— 최상위 창의 클래스 이름입니다(예: Notepad). 대/소문자를 구분하지 않으며, 빈 텍스트는 모든 클래스와 일치합니다.
반환 값
창이 일치하면 true이고, 기다리는 동안 스크립트에 중지 요청이 있었으면 false입니다.
MacroGetTemporaryScript
MacroGetTemporaryScript() → Text
MacroRecordTemporary로 기록한 매크로를 단계 스크립트 텍스트로 반환하므로 스크립트에서 저장하거나 검사할 수 있습니다.
매개 변수
매개 변수가 없습니다.
반환 값
마지막으로 완료된 기록의 단계 텍스트입니다. 기록된 것이 없거나 지워졌으면 빈 텍스트입니다. 새 기록이 진행 중일 때도 이전 기록을 반환합니다.
MacroPlayTemporary
MacroPlayTemporary(timeoutSeconds: Integer) → Bool
MacroRecordTemporary로 기록한 매크로를 재생하고 끝나거나 시간 제한이 지날 때까지 기다립니다. 재생하는 동안 사용자의 실제 마우스 및 키보드 입력은 보류됩니다.
매개 변수
timeoutSeconds: Integer— 기다릴 최대 시간(초)으로, 1 이상이어야 하며 그렇지 않으면 스크립트가 오류로 중지됩니다. 이 시간이 지나도 실행 중인 매크로는 계속 실행되지만 실제 입력은 더 이상 보류되지 않습니다.
반환 값
매크로가 제한 시간 안에 끝까지 재생되었으면 true이고, 기록된 것이 없거나, 단계 또는 창 확인에 실패했거나, 재생이 중지되었거나, 시간 제한에 도달했을 때 아직 실행 중이었으면 false입니다.
MacroRecordTemporary
MacroRecordTemporary() → Bool
마우스 및 키보드 입력을 메모리에 보관되는 임시 매크로로 기록하기 시작합니다. 중지하려면 Ctrl+Break를 누르십시오. 기록이 시작되기 전에 바로 반환됩니다. 먼저 확인 상자가 나타날 수 있습니다.
매개 변수
매개 변수가 없습니다.
반환 값
기록 요청을 보낸 경우 true이고, 기록이 이미 실행 중이거나 시작 중이거나 요청되었거나, 엔진이 아직 시작을 마치지 않았으면 false입니다.
Math
MathAbs
MathAbs(value: Any) → Any
숫자의 절댓값, 즉 빼기 기호를 뺀 숫자를 반환합니다. Integer와 Real 값에 사용할 수 있습니다.
매개 변수
value: Any— Integer 또는 Real 숫자입니다.
반환 값
value와 같은 종류(Integer 또는 Real)의 절댓값입니다. NaN이거나 무한대인 Real이면 0.0입니다. 숫자가 아닌 값이면 작업이 오류로 중지됩니다.
예제 2개: 값을 범위 안으로 제한하기, 획은 어느 방향으로 그려졌나요?
MathAtan2
MathAtan2(y: Any, x: Any) → Real
원점에서 점 (x, y)까지의 각도를 라디안으로 반환합니다. 화면의 y는 아래로 갈수록 커지므로, 일반적인 수학 방향의 획 각도를 얻으려면 세로 변화량의 부호를 바꿔 전달하십시오.
매개 변수
y: Any— 점의 세로 좌표입니다. Integer 또는 Real입니다. y가 먼저 온다는 점에 유의하십시오.x: Any— 점의 가로 좌표입니다. Integer 또는 Real입니다.
반환 값
-pi에서 pi 사이의 각도(라디안)를 Real로 반환합니다. 인수 중 하나가 NaN이거나 무한대이면 0.0입니다. 숫자가 아닌 인수이면 작업이 오류로 중지됩니다.
MathCeil
MathCeil(value: Real) → Integer
숫자를 가장 가까운 정수로 올림합니다. MathCeil(2.1)은 3이고, MathCeil(-2.1)은 -2입니다.
매개 변수
value: Real— 올림할 숫자입니다. Integer는 그대로 허용됩니다.
반환 값
올림한 값을 Integer로 반환합니다. value가 NaN이거나 무한대이면 0이고, Integer 범위를 벗어난 값이면 가장 큰 Integer 또는 가장 작은 Integer입니다.
예제 1개: 반올림과 Real 수학 기본 제공 함수
MathClamp
MathClamp(value: Any, min: Any, max: Any) → Any
숫자를 범위 안으로 제한합니다. value가 min보다 작으면 min을, max보다 크면 max를, 그 외에는 value를 반환합니다. Integer와 Real 값에 사용할 수 있습니다.
매개 변수
value: Any— 범위 안으로 제한할 숫자입니다.min: Any— 허용되는 최솟값입니다. max보다 크면 안 됩니다.max: Any— 허용되는 최댓값입니다.
반환 값
value, min, max 중 선택된 값으로, 원래 종류(Integer 또는 Real)를 유지합니다. 인수 중 하나라도 NaN이거나 무한대이면 0.0입니다. 숫자가 아니거나 min이 max보다 크면 작업이 오류로 중지됩니다.
예제 1개: 값을 범위 안으로 제한하기
MathCos
MathCos(radians: Real) → Real
라디안으로 지정한 각도의 코사인을 반환합니다. 도를 변환하려면 MathGetPi()를 곱하고 180으로 나누십시오.
매개 변수
radians: Real— 라디안 단위의 각도입니다. Integer는 그대로 허용됩니다.
반환 값
-1에서 1 사이의 코사인 값을 Real로 반환합니다. radians가 NaN이거나 무한대이면 0.0입니다.
예제 1개: 마우스를 원 모양으로 움직이기
MathFloor
MathFloor(value: Real) → Integer
숫자를 가장 가까운 정수로 내림합니다. MathFloor(2.9)는 2이고, MathFloor(-2.1)은 -3입니다.
매개 변수
value: Real— 내림할 숫자입니다. Integer는 그대로 허용됩니다.
반환 값
내림한 값을 Integer로 반환합니다. value가 NaN이거나 무한대이면 0이고, Integer 범위를 벗어난 값이면 가장 큰 Integer 또는 가장 작은 Integer입니다.
예제 1개: 반올림과 Real 수학 기본 제공 함수
MathGetE
MathGetE() → Real
자연로그의 밑인 수학 상수 e(약 2.71828)를 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
e의 값을 Real로 반환합니다.
MathGetPi
MathGetPi() → Real
수학 상수 pi(약 3.14159)를 반환합니다. 도와 라디안 사이를 변환할 때 사용합니다.
매개 변수
매개 변수가 없습니다.
반환 값
pi의 값을 Real로 반환합니다.
예제 1개: 마우스를 원 모양으로 움직이기
MathLog
MathLog(value: Real) → Real
숫자의 자연로그(밑 e)를 반환합니다. 밑이 10인 로그를 구하려면 MathLog(10.0)으로 나누십시오.
매개 변수
value: Real— 0보다 큰 숫자입니다. Integer는 그대로 허용됩니다.
반환 값
자연로그 값을 Real로 반환합니다. value가 0이거나 음수이거나 NaN이거나 무한대이면 0입니다.
MathMax
MathMax(a: Any, b: Any) → Any
두 숫자 중 큰 값을 반환합니다. Integer와 Real 값에 사용할 수 있습니다.
매개 변수
a: Any— 첫 번째 숫자입니다.b: Any— 두 번째 숫자입니다.
반환 값
a와 b 중 큰 값으로, 원래 종류를 유지합니다. 두 값이 같으면 a이고, 둘 중 하나가 NaN이거나 무한대이면 0.0입니다. 숫자가 아닌 인수이면 작업이 오류로 중지됩니다.
MathMin
MathMin(a: Any, b: Any) → Any
두 숫자 중 작은 값을 반환합니다. Integer와 Real 값에 사용할 수 있습니다.
매개 변수
a: Any— 첫 번째 숫자입니다.b: Any— 두 번째 숫자입니다.
반환 값
a와 b 중 작은 값으로, 원래 종류를 유지합니다. 두 값이 같으면 a이고, 둘 중 하나가 NaN이거나 무한대이면 0.0입니다. 숫자가 아닌 인수이면 작업이 오류로 중지됩니다.
예제 1개: 화면 표시와 함께 볼륨 높이기
MathMod
MathMod(value: Any, divisor: Any) → Any
value를 divisor로 나눈 나머지를 반환합니다. 결과는 divisor의 부호를 따르므로 MathMod(-30, 360)은 330입니다. 각도를 한 바퀴로 맞추거나 인덱스를 순환할 때 적합합니다.
매개 변수
value: Any— 나눌 숫자입니다. Integer 또는 Real입니다.divisor: Any— 나누는 수입니다. Integer 또는 Real입니다.
반환 값
나머지입니다. 두 인수가 모두 Integer이면 Integer, 그렇지 않으면 Real입니다. divisor가 0이거나 인수 중 하나가 NaN이거나 무한대이면 0입니다. 숫자가 아닌 인수이면 작업이 오류로 중지됩니다.
MathPow
MathPow(base: Real, exponent: Real) → Real
숫자를 거듭제곱합니다(예: 제곱, 세제곱). MathPow(2.0, 10.0)은 1024입니다.
매개 변수
base: Real— 거듭제곱할 숫자입니다. Integer는 그대로 허용됩니다.exponent: Real— 지수입니다. 음수나 분수일 수 있으며, 0.5이면 제곱근이 됩니다.
반환 값
결과를 Real로 반환합니다. 인수가 NaN이거나 무한대이거나, 0의 음수 거듭제곱이나 담을 수 없을 만큼 큰 결과처럼 유한한 결과가 없으면 0입니다.
MathRandom
MathRandom(min: Integer, max: Integer) → Integer
min과 max 사이(양 끝 포함)의 임의 정수를 반환합니다. MathRandom(1, 6)은 주사위를 굴리는 것과 같습니다.
매개 변수
min: Integer— 가능한 가장 작은 결과입니다.max: Integer— 가능한 가장 큰 결과입니다. min보다 작으면 안 됩니다.
반환 값
min에서 max 사이의 임의 Integer입니다. min이 max보다 크면 작업이 오류로 중지됩니다.
예제 2개: 종료 플래그가 있는 while (true), 난수와 동전 던지기
MathRound
MathRound(value: Real) → Integer
숫자를 가장 가까운 정수로 반올림합니다. 0.5는 0에서 먼 쪽으로 반올림되어 2.5는 3, -2.5는 -3이 됩니다.
매개 변수
value: Real— 반올림할 숫자입니다. 소수점 아래 두 자리를 정수로 유지하려면 value에 100을 곱한 값을 반올림하십시오.
반환 값
반올림한 값을 Integer로 반환합니다. value가 NaN이거나 무한대이면 0이고, Integer 범위를 벗어난 값이면 가장 큰 Integer 또는 가장 작은 Integer입니다.
예제 5개: 반올림과 Real 수학 기본 제공 함수, 제스처 획의 길이, 마우스를 원 모양으로 움직이기, 소수 여섯 자리 없이 Real 서식 지정하기, 화면 표시와 함께 볼륨 높이기
MathSin
MathSin(radians: Real) → Real
라디안으로 지정한 각도의 사인을 반환합니다. 도를 변환하려면 MathGetPi()를 곱하고 180으로 나누십시오.
매개 변수
radians: Real— 라디안 단위의 각도입니다. Integer는 그대로 허용됩니다.
반환 값
-1에서 1 사이의 사인 값을 Real로 반환합니다. radians가 NaN이거나 무한대이면 0.0입니다.
예제 1개: 마우스를 원 모양으로 움직이기
MathSqrt
MathSqrt(value: Real) → Real
숫자의 제곱근을 반환합니다. MathSqrt(dx * dx + dy * dy)는 두 점 사이의 거리입니다.
매개 변수
value: Real— 0 이상의 숫자입니다. Integer는 그대로 허용됩니다.
반환 값
제곱근을 Real로 반환합니다. value가 음수이거나 NaN이거나 무한대이면 0입니다.
예제 2개: 반올림과 Real 수학 기본 제공 함수, 제스처 획의 길이
MathTan
MathTan(radians: Real) → Real
라디안으로 지정한 각도의 탄젠트를 반환합니다. 직각에 가까워지면 결과가 매우 커집니다.
매개 변수
radians: Real— 라디안 단위의 각도입니다. Integer는 그대로 허용됩니다.
반환 값
탄젠트 값을 Real로 반환합니다. radians가 NaN이거나 무한대이면 0.0입니다.
Mouse
MouseButtonDown
MouseButtonDown(button: Integer) → Bool
현재 커서 위치에서 마우스 단추를 누르고 MouseButtonUp을 호출할 때까지 누른 상태로 유지합니다. MouseMoveTo와 함께 사용하면 끌기를 스크립트로 작성할 수 있습니다.
매개 변수
button: Integer— MouseButton 상수입니다(예: MouseButton.Primary). Primary와 Secondary는 Windows의 단추 전환 설정을 따르고, Left와 Right는 실제 물리적 단추입니다.
반환 값
단추 누름을 보낸 경우 true이고, Windows가 차단한 경우 false입니다. 알 수 없는 단추이면 스크립트가 오류로 중지됩니다.
예제 1개: 스크립트로 끌기
MouseButtonUp
MouseButtonUp(button: Integer) → Bool
현재 커서 위치에서 마우스 단추를 놓습니다. 일반적으로 MouseButtonDown으로 누른 단추입니다.
매개 변수
button: Integer— MouseButton 상수입니다(예: MouseButton.Primary). Primary와 Secondary는 Windows의 단추 전환 설정을 따르고, Left와 Right는 실제 물리적 단추입니다.
반환 값
단추 놓기를 보낸 경우 true이고, Windows가 차단한 경우 false입니다. 알 수 없는 단추이면 스크립트가 오류로 중지됩니다.
예제 1개: 스크립트로 끌기
MouseClick
MouseClick(x: Integer, y: Integer, button: Integer) → Bool · 간단히
커서를 화면의 한 점으로 이동하고 그 위치에서 마우스 단추를 클릭합니다. 이후에도 커서는 그 위치에 남습니다.
매개 변수
x: Integer— 클릭할 가로 화면 위치(픽셀)입니다.y: Integer— 클릭할 세로 화면 위치(픽셀)입니다.button: Integer— MouseButton 상수입니다(예: MouseButton.Primary). Primary와 Secondary는 Windows의 단추 전환 설정을 따르고, Left와 Right는 실제 물리적 단추입니다.
반환 값
클릭을 보낸 경우 true이고, 커서를 해당 지점으로 옮길 수 없는 경우(이때는 아무것도 클릭되지 않음) 또는 Windows가 클릭을 차단한 경우 false입니다. 알 수 없는 단추이면 스크립트가 오류로 중지됩니다.
예제 2개: 어딘가를 클릭한 다음 커서를 되돌리기, Shift+클릭
MouseClickAtClientPoint
MouseClickAtClientPoint(window: Window, x: Integer, y: Integer, button: Integer) → Bool
창의 클라이언트 영역(제목 표시줄과 테두리를 제외한 안쪽) 왼쪽 위 모서리를 기준으로 한 점에서 마우스 단추를 클릭합니다. 커서는 그 위치로 이동한 후 그대로 남습니다.
매개 변수
window: Window— x와 y의 기준이 되는 클라이언트 영역을 가진 창입니다.x: Integer— 클라이언트 영역 왼쪽 가장자리로부터의 거리로, 해당 창 자체의 픽셀 단위입니다. Windows가 DPI에 맞춰 크기를 조정하는 창에서는 화면 픽셀과 다를 수 있습니다.y: Integer— 클라이언트 영역 위쪽 가장자리로부터의 거리로, 해당 창 자체의 픽셀 단위입니다. Windows가 DPI에 맞춰 크기를 조정하는 창에서는 화면 픽셀과 다를 수 있습니다.button: Integer— MouseButton 상수입니다(예: MouseButton.Primary). Primary와 Secondary는 Windows의 단추 전환 설정을 따르고, Left와 Right는 실제 물리적 단추입니다.
반환 값
클릭을 보낸 경우 true이고, 창이 유효하지 않거나 더 이상 없거나 커서를 해당 지점으로 옮길 수 없는 경우(이때는 아무것도 클릭되지 않음), 또는 Windows가 클릭을 차단한 경우 false입니다. 알 수 없는 단추이면 스크립트가 오류로 중지됩니다.
예제 1개: 창 안의 한 점 클릭하기
MouseDoubleClick
MouseDoubleClick(x: Integer, y: Integer, button: Integer) → Bool · 간단히
커서를 화면의 한 점으로 이동하고 그 위치에서 마우스 단추를 두 번 클릭합니다. 이후에도 커서는 그 위치에 남습니다.
매개 변수
x: Integer— 두 번 클릭할 가로 화면 위치(픽셀)입니다.y: Integer— 두 번 클릭할 세로 화면 위치(픽셀)입니다.button: Integer— MouseButton 상수입니다(예: MouseButton.Primary). Primary와 Secondary는 Windows의 단추 전환 설정을 따르고, Left와 Right는 실제 물리적 단추입니다.
반환 값
두 번의 클릭을 모두 보낸 경우 true이고, 커서를 해당 지점으로 옮길 수 없는 경우(이때는 아무것도 클릭되지 않음) 또는 Windows가 클릭을 차단한 경우 false입니다. 알 수 없는 단추이면 스크립트가 오류로 중지됩니다.
MouseGetCursorX
MouseGetCursorX() → Integer
마우스 커서의 가로 화면 위치를 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
커서의 x 위치(화면 픽셀)입니다. 주 모니터 왼쪽에 있는 모니터에서는 음수입니다.
예제 8개: else-if 연쇄, 마우스를 원 모양으로 움직이기, 커서 아래 픽셀 색 읽기, 커서 아래의 3×2 격자 셀에 창 맞추기, 커서 아래에 있는 것 설명하기, 어딘가를 클릭한 다음 커서를 되돌리기, 스크립트로 끌기, Shift+클릭
MouseGetCursorY
MouseGetCursorY() → Integer
마우스 커서의 세로 화면 위치를 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
커서의 y 위치(화면 픽셀)입니다. 주 모니터 위에 있는 모니터에서는 음수입니다.
예제 8개: else-if 연쇄, 마우스를 원 모양으로 움직이기, 커서 아래 픽셀 색 읽기, 커서 아래의 3×2 격자 셀에 창 맞추기, 커서 아래에 있는 것 설명하기, 어딘가를 클릭한 다음 커서를 되돌리기, 스크립트로 끌기, Shift+클릭
MouseIsButtonDown
MouseIsButtonDown(button: Integer) → Bool
지금 이 순간 마우스 단추가 눌려 있는지 확인합니다.
매개 변수
button: Integer— MouseButton 상수입니다(예: MouseButton.Primary). Primary와 Secondary는 Windows의 단추 전환 설정을 따르고, Left와 Right는 실제 물리적 단추입니다.
반환 값
단추가 눌려 있으면 true이고, 놓여 있으면 false입니다. 알 수 없는 단추이면 스크립트가 오류로 중지됩니다.
MouseLockToRect
MouseLockToRect(x: Integer, y: Integer, width: Integer, height: Integer) → Bool
마우스 커서를 화면의 사각형 영역 안으로 제한합니다. 이 잠금은 MouseUnlock을 호출하거나 다른 프로그램이 변경할 때까지 스크립트가 끝난 후에도 유지되므로 작업이 끝나면 반드시 잠금을 해제하십시오.
매개 변수
x: Integer— 사각형의 왼쪽 가장자리(화면 픽셀)입니다.y: Integer— 사각형의 위쪽 가장자리(화면 픽셀)입니다.width: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.height: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.
반환 값
커서가 제한된 경우 true이고, width 또는 height가 양수가 아니거나 Windows가 거부한 경우 false입니다.
예제 1개: 5초 동안 커서를 창 안에 가두기
MouseMoveTo
MouseMoveTo(x: Integer, y: Integer) → Bool · 간단히
사용자가 마우스를 움직인 것처럼, 마우스 커서를 임의의 모니터에 있는 화면의 한 점으로 이동합니다.
매개 변수
x: Integer— 가로 화면 위치(픽셀)입니다.y: Integer— 세로 화면 위치(픽셀)입니다.
반환 값
이동을 보낸 경우 true이고, Windows가 차단한 경우 false입니다.
예제 3개: 마우스를 원 모양으로 움직이기, 어딘가를 클릭한 다음 커서를 되돌리기, 스크립트로 끌기
MouseScrollHorizontal
MouseScrollHorizontal(amount: Integer) → Bool · 간단히
현재 커서 위치에서 마우스 가로 휠을 돌립니다. 다른 위치를 스크롤하려면 먼저 MouseMoveTo를 사용하십시오.
매개 변수
amount: Integer— 휠 이동 거리로, 120이 한 칸입니다. 양수는 오른쪽, 음수는 왼쪽으로 스크롤합니다. 지원하는 앱에서는 더 작은 값으로 더 세밀하게 스크롤할 수 있습니다.
반환 값
스크롤을 보낸 경우 true이고, Windows가 차단한 경우 false입니다.
예제 1개: 눈금 단위로 스크롤하기
MouseScrollVertical
MouseScrollVertical(amount: Integer) → Bool · 간단히
현재 커서 위치에서 마우스 세로 휠을 돌립니다. 다른 위치를 스크롤하려면 먼저 MouseMoveTo를 사용하십시오.
매개 변수
amount: Integer— 휠 이동 거리로, 120이 한 칸입니다. 양수는 위쪽, 음수는 아래쪽으로 스크롤합니다. 지원하는 앱에서는 더 작은 값으로 더 세밀하게 스크롤할 수 있습니다.
반환 값
스크롤을 보낸 경우 true이고, Windows가 차단한 경우 false입니다.
예제 1개: 눈금 단위로 스크롤하기
MouseUnlock
MouseUnlock() → Bool
MouseLockToRect로 설정했든 다른 프로그램이 설정했든 마우스 커서의 이동 제한을 모두 해제합니다.
매개 변수
매개 변수가 없습니다.
반환 값
커서 제한이 해제된 경우 true이고, Windows가 거부한 경우 false입니다.
예제 1개: 5초 동안 커서를 창 안에 가두기
Multimedia
MultimediaGetMute
MultimediaGetMute(endpoint: Integer) → Bool
endpoint로 선택한 기본 재생 장치 또는 마이크가 Windows에서 음소거되어 있는지 알려 줍니다.
매개 변수
endpoint: Integer— 확인할 장치입니다: AudioEndpoint.Playback(기본 스피커 또는 헤드폰), AudioEndpoint.Capture(기본 마이크) 또는 AudioEndpoint.Communications(Windows가 통화에 사용하는 마이크). 다른 값이면 작업이 오류로 중지됩니다.
반환 값
장치가 음소거되어 있으면 true이고, 음소거되어 있지 않거나 장치가 없으면(예: 연결된 마이크 없음) false입니다.
예제 1개: 마이크 음소거 전환하기
MultimediaGetVolume
MultimediaGetVolume(endpoint: Integer) → Real
endpoint로 선택한 기본 재생 장치 또는 마이크의 마스터 볼륨을 0.0에서 1.0 사이의 Real로 반환합니다.
매개 변수
endpoint: Integer— 읽을 장치입니다: AudioEndpoint.Playback(기본 스피커 또는 헤드폰), AudioEndpoint.Capture(기본 마이크) 또는 AudioEndpoint.Communications(Windows가 통화에 사용하는 마이크). 다른 값이면 작업이 오류로 중지됩니다.
반환 값
0.0(무음)에서 1.0(최대) 사이의 볼륨으로, MultimediaSetVolume과 같은 척도입니다. 장치가 없으면 0.0입니다.
예제 1개: 화면 표시와 함께 볼륨 높이기
MultimediaPlayMp3File
MultimediaPlayMp3File(path: Text) → Bool · 간단히
MP3 파일 재생을 시작하고, 재생되는 동안 바로 반환합니다. 다른 MP3를 시작하면 아직 재생 중인 MP3가 중지됩니다.
매개 변수
path: Text— .mp3 파일의 전체 경로입니다(예: C:/Music/done.mp3).
반환 값
재생이 시작된 경우 true이고, 파일이 없거나, Windows가 10초 안에 파일을 열거나 재생할 수 없거나, 모두 중지로 대기가 끝난 경우 false입니다.
MultimediaPlayWavFile
MultimediaPlayWavFile(path: Text) → Bool · 간단히
.wav 사운드 파일 재생을 시작하고, 재생되는 동안 바로 반환합니다. 다른 WAV를 시작하면 아직 재생 중인 WAV가 중지됩니다. .wav 파일만 사용할 수 있으며, MP3에는 MultimediaPlayMp3File을 사용하십시오.
매개 변수
path: Text— .wav 파일의 전체 경로입니다(예: C:/Windows/Media/chimes.wav).
반환 값
파일이 있고 재생이 시작된 경우 true이고, 해당 경로에 파일이 없으면 false입니다. 파일은 있지만 재생할 수 있는 WAV가 아니면 true를 반환하고 아무것도 재생하지 않습니다.
예제 1개: 소리 재생하기
MultimediaSetMute
MultimediaSetMute(endpoint: Integer, muted: Bool) → Bool · 간단히
Windows 볼륨의 음소거 단추처럼, endpoint로 선택한 기본 재생 장치 또는 마이크를 음소거하거나 음소거를 해제합니다.
매개 변수
endpoint: Integer— 변경할 장치입니다: AudioEndpoint.Playback(기본 스피커 또는 헤드폰), AudioEndpoint.Capture(기본 마이크) 또는 AudioEndpoint.Communications(Windows가 통화에 사용하는 마이크). 다른 값이면 작업이 오류로 중지됩니다.muted: Bool— 장치를 음소거하려면 true, 음소거를 해제하려면 false입니다.
반환 값
음소거 상태를 설정한 경우 true이고, 장치가 없거나 변경을 거부한 경우 false입니다.
예제 1개: 실행 간에 유지되는 전환
MultimediaSetVolume
MultimediaSetVolume(endpoint: Integer, level: Real) → Bool · 간단히
endpoint로 선택한 기본 재생 장치 또는 마이크의 마스터 볼륨을 정확한 수준으로 설정합니다.
매개 변수
endpoint: Integer— 변경할 장치입니다: AudioEndpoint.Playback(기본 스피커 또는 헤드폰), AudioEndpoint.Capture(기본 마이크) 또는 AudioEndpoint.Communications(Windows가 통화에 사용하는 마이크). 다른 값이면 작업이 오류로 중지됩니다.level: Real— 0.0(무음)에서 1.0(최대) 사이의 새 볼륨입니다. 0.5는 Windows 볼륨 슬라이더의 50에 해당합니다. 0.0에서 1.0 범위를 벗어난 값은 범위 안으로 제한됩니다.
반환 값
볼륨을 설정한 경우 true이고, 장치가 없거나 변경을 거부한 경우 false입니다.
예제 2개: 화면 표시와 함께 볼륨 높이기, Arduino 노브를 볼륨 조절기로 바꾸기
MultimediaToggleMute
MultimediaToggleMute(endpoint: Integer) → Bool · 간단히
endpoint로 선택한 기본 재생 장치 또는 마이크가 음소거되어 있지 않으면 음소거하고, 음소거되어 있으면 해제합니다. 새 상태를 알려면 이후에 MultimediaGetMute를 호출하십시오.
매개 변수
endpoint: Integer— 전환할 장치입니다: AudioEndpoint.Playback(기본 스피커 또는 헤드폰), AudioEndpoint.Capture(기본 마이크) 또는 AudioEndpoint.Communications(Windows가 통화에 사용하는 마이크). 다른 값이면 작업이 오류로 중지됩니다.
반환 값
음소거 상태를 전환한 경우 true이고, 장치가 없거나 변경을 거부한 경우 false입니다. 새 음소거 상태가 아닙니다.
예제 1개: 마이크 음소거 전환하기
Plugin
PluginSendMessage
PluginSendMessage(pluginName: Text, message: Text, timeoutSeconds: Integer) → Text
명령을 받는 실행 중인 플러그 인에 텍스트 메시지를 보내고 응답을 기다립니다. 플러그 인은 한 번에 메시지 하나를 처리하며, 사용 중일 때 보낸 메시지는 큐에서 대기합니다.
매개 변수
pluginName: Text— 플러그 인의 표시 이름으로, 대/소문자까지 정확히 일치해야 합니다.message: Text— 보낼 텍스트입니다. 그 의미는 플러그 인이 정합니다.timeoutSeconds: Integer— 응답을 기다릴 시간(초)으로, 0에서 10 사이입니다. 다른 값이면 스크립트가 오류로 중지됩니다. 0이면 호출이 빈 텍스트와 함께 바로 반환됩니다.
반환 값
플러그 인의 응답입니다. 제시간에 응답하지 않으면 빈 텍스트입니다. 해당 플러그 인이 실행 중이 아니거나, 큐가 가득 찼거나, 메시지가 너무 길면 스크립트가 오류로 중지됩니다.
예제 1개: 플러그 인과 통신하기
Region
RegionGetCellIndexAt
RegionGetCellIndexAt(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, pointX: Integer, pointY: Integer) → Integer
사각형을 열과 행의 격자로 나누고 한 점이 들어 있는 셀을 반환합니다. 셀 번호는 0부터 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 매겨집니다.
매개 변수
rectX: Integer— 나눌 사각형의 왼쪽 가장자리(픽셀)입니다.rectY: Integer— 나눌 사각형의 위쪽 가장자리(픽셀)입니다.rectWidth: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.rectHeight: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.columns: Integer— 격자의 열 수입니다. 0보다 커야 합니다. 남는 픽셀은 앞쪽 열부터 하나씩 배분됩니다.rows: Integer— 격자의 행 수입니다. 0보다 커야 합니다. 남는 픽셀은 앞쪽 행부터 하나씩 배분됩니다.pointX: Integer— 찾을 점의 가로 위치로, rectX와 같은 픽셀 단위입니다.pointY: Integer— 찾을 점의 세로 위치로, rectY와 같은 픽셀 단위입니다.
반환 값
셀 번호(행 곱하기 열 수 더하기 열)입니다. 점이 사각형 밖에 있거나 rectWidth, rectHeight, columns 또는 rows가 양수가 아니면 -1입니다.
예제 1개: 커서 아래의 3×2 격자 셀에 창 맞추기
RegionGetHeight
RegionGetHeight(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer
사각형을 열과 행의 격자로 나눌 때 셀 하나의 높이를 반환합니다. 남는 픽셀은 앞쪽 행부터 하나씩 배분됩니다.
매개 변수
rectX: Integer— 나눌 사각형의 왼쪽 가장자리(픽셀)입니다.rectY: Integer— 나눌 사각형의 위쪽 가장자리(픽셀)입니다.rectWidth: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.rectHeight: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.columns: Integer— 격자의 열 수입니다. 0보다 커야 합니다.rows: Integer— 격자의 행 수입니다. 0보다 커야 합니다.index: Integer— 0부터 시작하는 셀 번호로, 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 세며 0에서 열 수 곱하기 행 수 빼기 1까지입니다.
반환 값
셀의 높이(픽셀)입니다. index가 범위를 벗어났거나 rectWidth, rectHeight, columns 또는 rows가 양수가 아니면 -1입니다.
예제 1개: 커서 아래의 3×2 격자 셀에 창 맞추기
RegionGetWidth
RegionGetWidth(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer
사각형을 열과 행의 격자로 나눌 때 셀 하나의 너비를 반환합니다. 남는 픽셀은 앞쪽 열부터 하나씩 배분됩니다.
매개 변수
rectX: Integer— 나눌 사각형의 왼쪽 가장자리(픽셀)입니다.rectY: Integer— 나눌 사각형의 위쪽 가장자리(픽셀)입니다.rectWidth: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.rectHeight: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.columns: Integer— 격자의 열 수입니다. 0보다 커야 합니다.rows: Integer— 격자의 행 수입니다. 0보다 커야 합니다.index: Integer— 0부터 시작하는 셀 번호로, 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 세며 0에서 열 수 곱하기 행 수 빼기 1까지입니다.
반환 값
셀의 너비(픽셀)입니다. index가 범위를 벗어났거나 rectWidth, rectHeight, columns 또는 rows가 양수가 아니면 -1입니다.
예제 1개: 커서 아래의 3×2 격자 셀에 창 맞추기
RegionGetX
RegionGetX(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer
사각형을 열과 행의 격자로 나눌 때 셀 하나의 왼쪽 가장자리를 반환합니다. 남는 픽셀은 앞쪽 열부터 하나씩 배분됩니다.
매개 변수
rectX: Integer— 나눌 사각형의 왼쪽 가장자리(픽셀)입니다.rectY: Integer— 나눌 사각형의 위쪽 가장자리(픽셀)입니다.rectWidth: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.rectHeight: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.columns: Integer— 격자의 열 수입니다. 0보다 커야 합니다.rows: Integer— 격자의 행 수입니다. 0보다 커야 합니다.index: Integer— 0부터 시작하는 셀 번호로, 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 세며 0에서 열 수 곱하기 행 수 빼기 1까지입니다.
반환 값
셀의 왼쪽 가장자리입니다. index가 범위를 벗어났거나 rectWidth, rectHeight, columns 또는 rows가 양수가 아니면 -1입니다. 실제 셀도 -1에서 시작할 수 있으므로 먼저 index를 확인하십시오.
예제 1개: 커서 아래의 3×2 격자 셀에 창 맞추기
RegionGetY
RegionGetY(rectX: Integer, rectY: Integer, rectWidth: Integer, rectHeight: Integer, columns: Integer, rows: Integer, index: Integer) → Integer
사각형을 열과 행의 격자로 나눌 때 셀 하나의 위쪽 가장자리를 반환합니다. 남는 픽셀은 앞쪽 행부터 하나씩 배분됩니다.
매개 변수
rectX: Integer— 나눌 사각형의 왼쪽 가장자리(픽셀)입니다.rectY: Integer— 나눌 사각형의 위쪽 가장자리(픽셀)입니다.rectWidth: Integer— 사각형의 너비(픽셀)입니다. 0보다 커야 합니다.rectHeight: Integer— 사각형의 높이(픽셀)입니다. 0보다 커야 합니다.columns: Integer— 격자의 열 수입니다. 0보다 커야 합니다.rows: Integer— 격자의 행 수입니다. 0보다 커야 합니다.index: Integer— 0부터 시작하는 셀 번호로, 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 세며 0에서 열 수 곱하기 행 수 빼기 1까지입니다.
반환 값
셀의 위쪽 가장자리입니다. index가 범위를 벗어났거나 rectWidth, rectHeight, columns 또는 rows가 양수가 아니면 -1입니다. 실제 셀도 -1에서 시작할 수 있으므로 먼저 index를 확인하십시오.
예제 1개: 커서 아래의 3×2 격자 셀에 창 맞추기
Serial
SerialClosePort
SerialClosePort(port: Text) → Bool
SerialOpenPort로 연 COM 포트를 닫아 Arduino IDE 같은 다른 프로그램이 사용할 수 있게 합니다. 아직 읽지 않은 수신 줄은 삭제됩니다.
매개 변수
port: Text— SerialOpenPort에 전달한 포트 이름입니다(예: COM3). 대/소문자는 상관없습니다.
반환 값
포트가 열려 있었고 이제 닫힌 경우 true이고, 열려 있지 않았거나 직렬 모니터가 사용 중인 경우(SerialMonitorDelete 사용) false입니다.
예제 1개: 직렬 장치에 질문하기
SerialEnumeratePorts
SerialEnumeratePorts() → Integer
USB로 연결된 Arduino, ESP32, USB-직렬 어댑터 등 이 컴퓨터의 직렬(COM) 포트를 찾아 개수를 반환합니다. 각 이름은 SerialGetEnumeratedPortAt으로 읽습니다.
매개 변수
매개 변수가 없습니다.
반환 값
찾은 COM 포트 수입니다. 없으면 0입니다.
예제 1개: COM 포트 나열하기
SerialGetEnumeratedPortAt
SerialGetEnumeratedPortAt(index: Integer) → Text
이번 스크립트 실행에서 마지막 SerialEnumeratePorts 호출로 만든 목록의 포트 이름 하나(예: COM3)를 반환합니다. 어떤 장치가 어느 포트에 있는지는 장치 관리자에서 확인할 수 있습니다.
매개 변수
index: Integer— 목록에서의 위치로, 0에서 개수 빼기 1까지입니다. 이름은 번호순으로 정렬되므로 COM3이 COM10보다 앞에 옵니다.
반환 값
포트 이름입니다. index가 범위를 벗어났거나 SerialEnumeratePorts를 호출하지 않았으면 빈 텍스트입니다.
예제 1개: COM 포트 나열하기
SerialGetTextLine
SerialGetTextLine(port: Text, timeoutSeconds: Integer, baudRate: Integer) → Text
센서 값, 바코드 스캔 또는 장치의 응답처럼 COM 포트에서 다음 완전한 줄이 올 때까지 기다렸다가 반환합니다. 최대 timeoutSeconds 동안 스크립트를 차단하며, 모두 중지를 사용하면 대기가 끝납니다.
매개 변수
port: Text— 포트 이름입니다(예: COM3). 설정을 선택하고 일찍 도착한 줄을 보관하려면 먼저 SerialOpenPort로 여십시오. 그렇지 않으면 이 대기에 한해 baudRate로 열립니다.timeoutSeconds: Integer— 최대 대기 시간(초)입니다. 0이면 줄이 도착하거나 스크립트가 중지될 때까지 기다립니다. 음수 값이면 스크립트가 오류로 중지됩니다.baudRate: Integer— 초당 비트 수로 나타낸 속도(예: 9600 또는 115200)로, 이 호출이 직접 포트를 열 때만 사용되며 SerialOpenPort로 연 포트에서는 무시됩니다. 0 이하이면 스크립트가 오류로 중지됩니다.
반환 값
종결 문자를 제외한 줄입니다. 제시간에 줄이 도착하지 않았거나, 포트를 열 수 없거나, 장치가 분리되었으면 빈 텍스트입니다. 직렬 모니터가 포트를 사용 중이면 스크립트가 오류로 중지됩니다.
예제 2개: 직렬 장치에 질문하기, Arduino의 포트를 열어 두고 명령 보내기
SerialMonitorCreate
SerialMonitorCreate(name: Text, port: Text, baudRate: Integer, parity: Integer, dataBits: Integer, stopBits: Integer, terminator: Text, script: Text) → Bool
COM 포트를 열고 장치가 보내는 모든 줄에 대해 스크립트를 실행합니다. 예를 들어 Arduino 단추 상자나 매크로 패드를 바로 가기로 사용할 수 있습니다. 모니터는 이 스크립트가 끝난 후에도 계속 실행됩니다. 모두 중지는 줄에 대해 실행 중인 스크립트를 중지하고 대기 중인 줄을 버리며, 모니터는 계속 실행됩니다.
매개 변수
name: Text— 모니터의 이름입니다. 이 포트의 현재 모니터 이름을 다시 사용하면 해당 모니터가 바뀌며, 이미 다른 포트를 모니터링하는 이름이면 스크립트가 오류로 중지됩니다. 대/소문자는 상관없습니다.port: Text— 포트 이름입니다(예: COM3). 보드가 어느 포트에 있는지는 장치 관리자에서 확인할 수 있습니다.baudRate: Integer— 초당 비트 수로 나타낸 속도입니다. 장치와 일치해야 합니다(예: Arduino 스케치의 Serial.begin에 있는 9600 또는 115200).parity: Integer— SerialParity 상수입니다. Arduino 보드를 포함한 대부분의 장치는 SerialParity.None을 사용합니다.dataBits: Integer— 문자당 비트 수로, 일반 숫자로 지정합니다. 거의 모든 장치가 8을 사용합니다.stopBits: Integer— SerialStopBits 상수로, 보통 SerialStopBits.One입니다. 반드시 상수를 사용하십시오. 일반 숫자 1은 정지 비트 1.5개를 뜻합니다.terminator: Text— 각 줄의 끝을 나타내는 텍스트로, 수신한 줄에서 제거되고 SerialWriteTextLine이 보내는 모든 줄에 추가됩니다. 빈 텍스트는 Arduino의 Serial.println이 보내는 CR LF를 뜻합니다. LF만으로 줄을 끝내는 장치에는 '\n'을, CR만 사용하는 장치에는 '\r'을 사용하십시오.script: Text— 수신한 각 줄에 대해 실행할 스크립트(Text)입니다. 스크립트는 ContextGetSerialTextLine으로 줄을 읽습니다. 줄은 도착한 순서대로 한 번에 하나씩 실행됩니다. 스크립트가 실행되는 동안 최대 256줄이 대기하며, 이를 넘으면 가장 오래된 줄부터 버려집니다.
반환 값
모니터가 실행되면 true이고, 포트가 없거나 분리되었거나 다른 프로그램이 사용 중이면 false입니다. 포트가 SerialOpenPort로 열려 있거나 다른 이름으로 모니터링 중이거나, 이 이름이 이미 다른 포트를 모니터링하고 있으면 스크립트가 오류로 중지됩니다. 장치를 분리하면 모니터가 종료되고 콘솔의 [시스템] 탭에 한 줄이 기록됩니다.
예제 2개: 직렬 장치의 단추를 미디어 키에 매핑하기, Arduino 노브를 볼륨 조절기로 바꾸기
SerialMonitorDelete
SerialMonitorDelete(name: Text) → Bool
SerialMonitorCreate로 만든 직렬 모니터를 중지하고 COM 포트를 닫아 다른 프로그램이 다시 포트를 사용할 수 있게 합니다. 아직 처리되지 않은 줄은 버려지고, 이미 실행 중인 스크립트는 끝까지 실행됩니다.
매개 변수
name: Text— SerialMonitorCreate에 지정한 이름입니다. 대/소문자는 상관없습니다.
반환 값
해당 이름의 모니터를 찾아 중지한 경우 true이고, 없었으면 false입니다.
SerialMonitorDeleteAll
SerialMonitorDeleteAll() → Bool
모든 직렬 모니터를 중지하고 해당 COM 포트를 닫습니다. SerialOpenPort로 연 포트는 열린 상태로 유지됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
SerialMonitorGetCount
SerialMonitorGetCount() → Integer
실행 중인 직렬 모니터의 개수를 반환하고, SerialMonitorGetEnumeratedNameAt에서 사용할 수 있도록 그 이름의 스냅샷을 만듭니다.
매개 변수
매개 변수가 없습니다.
반환 값
실행 중인 직렬 모니터의 개수입니다. 없으면 0입니다.
SerialMonitorGetEnumeratedNameAt
SerialMonitorGetEnumeratedNameAt(index: Integer) → Text
이번 스크립트 실행에서 마지막 SerialMonitorGetCount 호출로 만든 스냅샷의 모니터 이름 하나를 반환합니다.
매개 변수
index: Integer— 스냅샷에서의 위치로, 0에서 개수 빼기 1까지입니다. 순서에는 의미가 없습니다.
반환 값
모니터 이름입니다. index가 범위를 벗어났거나 SerialMonitorGetCount를 호출하지 않았으면 빈 텍스트입니다.
SerialOpenPort
SerialOpenPort(port: Text, baudRate: Integer, parity: Integer, dataBits: Integer, stopBits: Integer, terminator: Text) → Bool
COM 포트를 열고 SerialClosePort를 호출할 때까지 열어 두며, 수신한 각 줄을 SerialGetTextLine에서 읽을 수 있도록 모읍니다. 포트를 열면 DTR 및 RTS 신호가 켜지며, 이로 인해 Arduino IDE에서와 마찬가지로 많은 Arduino 보드가 다시 시작되므로 한 번 열어 재사용하십시오.
매개 변수
port: Text— 포트 이름입니다(예: COM3). 장치 관리자나 SerialEnumeratePorts로 확인할 수 있습니다. 빈 텍스트이면 스크립트가 오류로 중지됩니다.baudRate: Integer— 초당 비트 수로 나타낸 속도입니다. 장치와 일치해야 합니다(예: Arduino 스케치의 Serial.begin에 있는 9600 또는 115200).parity: Integer— SerialParity 상수입니다. Arduino 보드를 포함한 대부분의 장치는 SerialParity.None을 사용합니다.dataBits: Integer— 문자당 비트 수로, 일반 숫자로 지정합니다. 거의 모든 장치가 8을 사용합니다.stopBits: Integer— SerialStopBits 상수로, 보통 SerialStopBits.One입니다. 반드시 상수를 사용하십시오. 일반 숫자 1은 정지 비트 1.5개를 뜻합니다.terminator: Text— 각 줄의 끝을 나타내는 텍스트로, 수신한 줄에서 제거되고 SerialWriteTextLine이 보내는 모든 줄에 추가됩니다. 빈 텍스트는 Arduino의 Serial.println이 보내는 CR LF를 뜻합니다. LF만으로 줄을 끝내는 장치에는 '\n'을, CR만 사용하는 장치에는 '\r'을 사용하십시오.
반환 값
포트가 열려 있으면 true이고, 포트가 없거나, 직렬 모니터 같은 다른 프로그램이 사용 중이거나, 설정을 거부한 경우 false입니다. Input.Observer가 이미 포트를 열어 두었거나 직렬 모니터가 포트를 사용 중이면 스크립트가 오류로 중지됩니다.
예제 2개: 직렬 장치에 질문하기, Arduino의 포트를 열어 두고 명령 보내기
SerialWriteTextLine
SerialWriteTextLine(port: Text, text: Text, baudRate: Integer) → Bool
Arduino용 명령이나 3D 프린터용 G 코드 줄처럼 텍스트 한 줄과 포트의 줄 끝 문자를 COM 포트로 보냅니다. SerialOpenPort로 열었거나 직렬 모니터가 사용 중인 포트에서 작동하므로 모니터의 스크립트가 장치에 응답할 수 있습니다. 열려 있지 않은 포트는 이 쓰기 작업에 한해 baudRate, 8-N-1로 열립니다.
매개 변수
port: Text— 포트 이름입니다(예: COM3). 설정을 선택하고, 포트가 열릴 때 다시 시작되는 보드가 재시작되지 않도록 하려면 먼저 SerialOpenPort로 여십시오.text: Text— UTF-8로 인코딩하여 보낼 줄입니다. 줄 끝 문자는 추가하지 마십시오. 포트를 열 때 지정한 terminator가 추가되며, 이 호출이 직접 포트를 열면 CR LF가 추가됩니다.baudRate: Integer— 초당 비트 수로 나타낸 속도(예: 9600 또는 115200)로, 이 호출이 직접 포트를 열 때만 사용되며 이미 열려 있거나 모니터링 중인 포트에서는 무시됩니다. 0 이하이면 스크립트가 오류로 중지됩니다.
반환 값
줄을 보낸 경우 true이고, 포트를 열 수 없거나 쓰기에 실패했거나 시간이 초과된 경우 false입니다.
예제 2개: 직렬 장치에 질문하기, Arduino의 포트를 열어 두고 명령 보내기
Shell
ShellEmptyRecycleBins
ShellEmptyRecycleBins() → Bool · 간단히
확인을 묻지 않고 모든 드라이브의 휴지통에 있는 항목을 영구적으로 삭제합니다. 이 작업은 취소할 수 없습니다.
매개 변수
매개 변수가 없습니다.
반환 값
휴지통을 비웠거나 이미 비어 있었으면 true이고, 그렇지 않으면 false입니다.
ShellEnumerateProcessIdsByExeRegex
ShellEnumerateProcessIdsByExeRegex(pattern: Text) → Integer
프로그램 파일 이름(예: notepad.exe)이 정규식과 일치하는 실행 중인 모든 프로세스를 찾아 개수를 반환합니다. 각 프로세스 ID는 ShellGetEnumeratedProcessIdAt으로 읽습니다.
매개 변수
pattern: Text— 정규식으로, 전체 경로가 아닌 파일 이름에만 대/소문자 구분 없이 비교합니다. 이름 전체와 일치시키려면 ^와 $를 사용하십시오(예: ^notepad[.]exe$).
반환 값
일치하는 프로세스 수입니다. 일치하는 프로세스가 없으면 0입니다. 잘못된 패턴이면 스크립트가 오류로 중지됩니다.
예제 1개: 프로세스에서 창으로
ShellExpandEnvironmentVariables
ShellExpandEnvironmentVariables(text: Text) → Text
텍스트에서 USERPROFILE이나 TEMP처럼 두 퍼센트 기호 사이에 이름을 쓴 각 환경 변수를 그 값으로 바꿉니다. 어느 PC에서나 작동하는 경로를 만들 때 유용합니다.
매개 변수
text: Text— 사용자 프로필 폴더의 경로처럼 퍼센트 기호 사이에 환경 변수 이름이 들어 있는 텍스트입니다.
반환 값
알려진 모든 변수를 바꾼 텍스트입니다. 알 수 없는 변수는 쓴 그대로 남습니다. 확장에 실패하면 빈 텍스트입니다.
예제 8개: 오늘 날짜와 타임스탬프가 붙은 파일 이름, 동그라미 친 영역의 스크린샷 찍기, 복사한 이미지를 파일로 저장하기, 로그 파일에 추가하기, 폴더의 파일 형식별 개수 세기, 편집하기 전에 파일 백업하기, 폴더 감시하기, 환경 변수 확장하기
ShellGetEnumeratedProcessIdAt
ShellGetEnumeratedProcessIdAt(index: Integer) → Integer
이번 스크립트 실행에서 마지막 ShellEnumerateProcessIdsByExeRegex 호출로 만든 목록의 프로세스 ID 하나를 반환합니다.
매개 변수
index: Integer— 목록에서의 위치로, 0에서 개수 빼기 1까지입니다.
반환 값
프로세스 ID입니다. index가 범위를 벗어났거나 ShellEnumerateProcessIdsByExeRegex를 호출하지 않았으면 0입니다.
예제 1개: 프로세스에서 창으로
ShellGetSystemMetricsByIndex
ShellGetSystemMetricsByIndex(index: Integer) → Integer
GetSystemMetrics 인덱스로 Windows 시스템 측정값이나 설정을 반환합니다. 예를 들어 0은 주 화면의 너비, 80은 모니터 수입니다.
매개 변수
index: Integer— Windows SM_ 인덱스 번호입니다(예: 0(SM_CXSCREEN) 또는 1(SM_CYSCREEN)). 이에 대한 명명된 상수는 없습니다.
반환 값
Windows가 보고하는 값으로, 흔히 픽셀 단위입니다. 알 수 없는 인덱스이면 0입니다.
ShellRun
ShellRun(command: Text) → Bool · 간단히
Windows [실행] 대화 상자(Win+R)에 입력하는 것처럼 프로그램을 실행하거나 파일, 폴더 또는 웹 주소를 엽니다. 프로그램이 끝날 때까지 기다리지 않습니다.
매개 변수
command: Text— notepad.exe 같은 프로그램 이름, 경로 또는 웹 주소이며, 그 뒤에 인수를 붙일 수 있습니다. 공백이 포함된 경로 뒤에 인수가 오면 경로를 작은따옴표로 묶으십시오.
반환 값
Windows가 시작한 경우 true이고, 찾거나 시작할 수 없는 경우 false입니다. 실패해도 Windows 오류 상자는 표시되지 않습니다.
예제 4개: while 루프: 시간 제한을 두고 창 기다리기, 프로그램을 실행하고 창을 기다린 다음 작업하기, 선택한 텍스트로 웹 검색하기, 선택 영역으로 웹 검색하기
ShellRunOrActivate
ShellRunOrActivate(exeName: Text) → Bool · 간단히
프로그램이 이미 실행 중이면 그 창을 맨 앞으로 가져오고, 그렇지 않으면 명령을 실행합니다. 항상 같은 프로그램으로 이동하는 제스처에 유용합니다.
매개 변수
exeName: Text— 프로그램의 파일 이름(예: notepad 또는 notepad.exe) 또는 전체 경로이며, 그 뒤에 프로그램을 시작해야 할 때만 사용되는 인수를 붙일 수 있습니다. 실행 중인 창은 첫 단어의 파일 이름으로 찾으며, 확장명이 없으면 .exe가 추가됩니다. 공백이 있는 경로는 작은따옴표로 묶으십시오.
반환 값
창을 맨 앞으로 가져왔거나 프로그램을 시작한 경우 true이고, Windows가 창을 앞으로 가져오기를 거부했거나 시작에 실패한 경우 false입니다.
예제 1개: 앱을 실행하거나 앱으로 전환하기
ShellRunProgram
ShellRunProgram(path: Text, arguments: Text, verb: Any, windowStyle: Integer, waitForExit: Bool) → Bool
선택한 동작(동사)과 창 스타일로 프로그램을 실행하거나 파일을 열며, 닫힐 때까지 기다릴 수 있습니다. 프로그램을 관리자 권한으로 실행하려면 ShellVerb.RunAs를 사용하십시오.
매개 변수
path: Text— 열 프로그램, 문서 또는 폴더입니다(예: notepad.exe 또는 전체 파일 경로).arguments: Text— 프로그램에 전달할 명령줄 인수이며, 없으면 빈 텍스트입니다.verb: Any— ShellVerb.Open이나 ShellVerb.Print 같은 ShellVerb 상수, 또는 파일 형식이 지원하는 모든 동사를 Text로 지정합니다. 빈 텍스트는 기본 동작을 사용합니다.windowStyle: Integer— WindowStyle 상수입니다: WindowStyle.Normal, WindowStyle.Minimized, WindowStyle.Maximized 또는 WindowStyle.Hidden. 다른 값이면 스크립트가 오류로 중지됩니다. 일부 프로그램은 이를 무시합니다.waitForExit: Bool— 프로그램이 닫힐 때까지 스크립트를 차단하려면 true(모두 중지는 대기를 끝내고 프로그램은 계속 실행되도록 둠), 바로 계속하려면 false입니다.
반환 값
Windows가 시작한 경우(그리고 waitForExit를 사용하면 닫힌 경우) true이고, 시작할 수 없거나, 관리자 권한 확인 메시지가 거부되었거나, 모두 중지로 대기가 끝난 경우 false입니다. 실패해도 Windows 오류 상자는 표시되지 않습니다.
예제 2개: 동사와 창 스타일을 지정하여 프로그램 실행하기, 실행하고 종료될 때까지 기다리기
ShellRunStoreApp
ShellRunStoreApp(packageName: Text) → Bool · 간단히
설치된 Microsoft Store 앱을 패키지 이름의 전체 또는 일부나 시작 메뉴 이름(예: Microsoft.WindowsCalculator 또는 Calculator)으로 시작합니다. 일반 데스크톱 프로그램은 해당되지 않으므로 ShellRun을 사용하십시오.
매개 변수
packageName: Text— 앱의 패키지 패밀리 이름 전체 또는 일부, 또는 정확한 시작 메뉴 이름으로, 대/소문자 구분 없이 비교합니다. 정확한 패키지 패밀리 이름이 가장 우선하고, 그다음 정확한 시작 메뉴 이름, 그다음 패키지 패밀리 이름에 텍스트가 포함된 첫 번째 앱 순입니다.
반환 값
앱을 시작한 경우 true이고, packageName이 비어 있거나, 일치하는 설치된 Store 앱이 없거나, 시작에 실패한 경우 false입니다.
ShellShowToast
ShellShowToast(title: Text, message: Text) → Bool · 간단히
제목과 메시지가 있는 Windows 알림(토스트)을 표시합니다. Windows가 알림을 받아들일 때까지만 기다리며, 알림이 닫힐 때까지 기다리지는 않습니다.
매개 변수
title: Text— 알림의 굵게 표시되는 첫 줄입니다.message: Text— 제목 아래에 표시되는 텍스트입니다.
반환 값
알림이 표시된 경우 true이고, [일반] 설정에서 알림이 꺼져 있거나, Windows가 거부했거나, 모두 중지로 대기가 끝난 경우 false입니다.
예제 9개: 창을 맨 위에 고정하기, 동그라미 친 영역의 스크린샷 찍기, 복사한 이미지를 파일로 저장하기, 실행 간에 유지되는 전환, Windows 알림, 마이크 음소거 전환하기, 실행하고 종료될 때까지 기다리기, 다음 제스처 프로필로 순환하기, 엔진 상태
ShellTerminateProcess
ShellTerminateProcess(processId: Integer) → Bool
작업 관리자의 [작업 끝내기]처럼 프로세스를 즉시 종료합니다. 해당 프로그램에서 저장하지 않은 작업은 손실됩니다.
매개 변수
processId: Integer— 프로세스 ID입니다(예: WindowGetProcessId 또는 ShellGetEnumeratedProcessIdAt에서 얻은 값). 0 이하, Input.Observer 자체 프로세스 및 Windows 시스템 프로세스이면 스크립트가 오류로 중지됩니다.
반환 값
프로세스를 종료한 경우 true이고, 이미 종료되었거나 관리자 권한으로 실행 중인 프로그램처럼 Windows가 액세스를 거부한 경우 false입니다.
Snippet
SnippetExecuteScript
SnippetExecuteScript(name: Text) → Bool · 간단히
이 이름의 코드 조각을 실행하고 끝날 때까지 기다립니다. 코드 조각은 호출자의 트리거 컨텍스트를 볼 수 있지만 변수는 따로 가집니다.
매개 변수
name: Text— 코드 조각의 이름으로, 대/소문자까지 정확히 일치해야 합니다.
반환 값
코드 조각이 끝까지 실행되면 true이고, 해당 이름의 코드 조각이 없거나, 코드 조각이 비어 있거나 오류가 있거나 중지된 경우 false입니다.
예제 1개: 재사용 가능한 함수로서의 코드 조각
SnippetGetScript
SnippetGetScript(name: Text) → Text
이 이름의 코드 조각을 실행하지 않고 스크립트 텍스트를 반환합니다. 예를 들어 TimerCreate에 전달할 수 있습니다.
매개 변수
name: Text— 코드 조각의 이름으로, 대/소문자까지 정확히 일치해야 합니다.
반환 값
코드 조각의 스크립트 텍스트입니다. 해당 이름의 코드 조각이 없으면 빈 텍스트입니다.
예제 1개: 이스케이프가 필요 없는 코드 조각 기반 타이머 스크립트
Storage
StorageClearAll
StorageClearAll() → Bool
모든 작업에 대해 StorageSetValue로 저장한 모든 값을 제거합니다. 영구 값은 영향을 받지 않습니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
StorageClearAllPersistent
StorageClearAllPersistent() → Bool
모든 영구 값을 제거하고 storage.toml에서도 지우므로 다시 시작한 후에도 돌아오지 않습니다. StorageSetValue로 저장한 값은 영향을 받지 않습니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
StorageClearPersistentValue
StorageClearPersistentValue(key: Text) → Bool
영구 값 하나를 제거하고 storage.toml에서도 지웁니다. 키가 저장되어 있지 않으면 아무 일도 일어나지 않습니다.
매개 변수
key: Text— 제거할 값의 이름입니다. 대문자와 소문자는 서로 다르게 취급됩니다.
반환 값
키가 저장되어 있었는지와 관계없이 항상 true입니다.
StorageClearValue
StorageClearValue(key: Text) → Bool
StorageSetValue로 저장한 값 하나를 제거합니다. 키가 저장되어 있지 않으면 아무 일도 일어나지 않습니다.
매개 변수
key: Text— 제거할 값의 이름입니다. 대문자와 소문자는 서로 다르게 취급됩니다.
반환 값
키가 저장되어 있었는지와 관계없이 항상 true입니다.
StorageGetPersistentValue
StorageGetPersistentValue(key: Text) → Any
Input.Observer를 마지막으로 다시 시작하기 전에 저장한 값을 포함하여 StorageSetPersistentValue로 저장한 값을 읽습니다.
매개 변수
key: Text— 값을 저장할 때 사용한 이름입니다. 대문자와 소문자는 서로 다르게 취급됩니다.
반환 값
저장된 값을 원래 종류(Bool, Integer, Real 또는 Text)로 반환합니다. 키가 저장되어 있지 않으면 Integer 0입니다. 없는 키와 저장된 0을 구별하려면 StorageHasPersistentValue를 사용하십시오.
예제 1개: 다시 시작해도 유지되는 카운터
StorageGetValue
StorageGetValue(key: Text) → Any
Input.Observer가 시작된 이후 이 작업이나 다른 작업이 StorageSetValue로 저장한 값을 읽습니다.
매개 변수
key: Text— 값을 저장할 때 사용한 이름입니다. 대문자와 소문자는 서로 다르게 취급됩니다.
반환 값
저장된 값을 원래 종류(Bool, Integer, Real, Text 또는 Window)로 반환합니다. 키가 저장되어 있지 않으면 Integer 0입니다. 없는 키와 저장된 0을 구별하려면 StorageHasValue를 사용하십시오.
예제 5개: &&와 ||는 양쪽을 모두 평가합니다, 횟수를 세는 반복 타이머, 실행 간에 유지되는 전환, Storage에 보관하는 목록, 재사용 가능한 함수로서의 코드 조각
StorageHasPersistentValue
StorageHasPersistentValue(key: Text) → Bool
이름으로 저장된 영구 값이 있는지 확인합니다. 없는 키와 저장된 0, false 또는 빈 텍스트를 구별할 때 사용합니다.
매개 변수
key: Text— 찾을 이름입니다. 대문자와 소문자는 서로 다르게 취급됩니다.
반환 값
key로 저장된 영구 값이 있으면 true이고, 없으면 false입니다.
StorageHasValue
StorageHasValue(key: Text) → Bool
StorageSetValue로 이름에 저장된 값이 있는지 확인합니다. 없는 키와 저장된 0, false 또는 빈 텍스트를 구별할 때 사용합니다.
매개 변수
key: Text— 찾을 이름입니다. 대문자와 소문자는 서로 다르게 취급됩니다.
반환 값
key로 저장된 값이 있으면 true이고, 없으면 false입니다.
StorageSetPersistentValue
StorageSetPersistentValue(key: Text, value: Any) → Bool
다시 시작한 후에도 유지되도록 구성 파일 옆의 storage.toml에 값을 이름으로 저장합니다. 이 파일은 일반 텍스트이며 암호화되지 않으므로 암호나 기타 비밀 정보를 저장하지 마십시오.
매개 변수
key: Text— 저장할 이름으로, 최대 256자입니다. 대문자와 소문자는 서로 다르게 취급됩니다. 이 이름으로 이미 저장된 값은 바뀝니다.value: Any— 저장할 값으로, Bool, Integer, Real 또는 Text(최대 32,768자)입니다. 같은 종류로 반환됩니다. Window는 저장할 수 없습니다.
반환 값
값이 저장되면 true입니다. 시작할 때 storage.toml이 있었지만 읽을 수 없었으면 false이며, 이 경우 다음 시작 때까지 저장이 꺼지고 값은 Input.Observer가 종료될 때까지만 유지됩니다. 창 값, 256자를 넘는 키, 32,768자를 넘는 Text, 또는 저장된 값이 1,024개를 넘게 되는 새 키이면 작업이 오류로 중지됩니다.
예제 1개: 다시 시작해도 유지되는 카운터
StorageSetValue
StorageSetValue(key: Text, value: Any) → Bool
이 작업이나 다른 작업이 나중에 실행될 때 읽을 수 있도록 값을 이름으로 저장합니다. 값은 Input.Observer가 종료될 때까지 유지되며, 다시 시작한 후에도 유지하려면 StorageSetPersistentValue를 사용하십시오.
매개 변수
key: Text— 저장할 이름으로, 최대 256자입니다. 대문자와 소문자는 서로 다르게 취급됩니다. 이 이름으로 이미 저장된 값은 종류와 관계없이 바뀝니다.value: Any— 저장할 값으로, Bool, Integer, Real, Text(최대 32,768자) 또는 Window입니다. 같은 종류로 반환됩니다.
반환 값
값이 저장되면 true입니다. 256자를 넘는 키, 32,768자를 넘는 Text, 또는 저장된 값이 1,024개를 넘게 되는 새 키이면 작업이 오류로 중지됩니다.
예제 5개: &&와 ||는 양쪽을 모두 평가합니다, 횟수를 세는 반복 타이머, 실행 간에 유지되는 전환, Storage에 보관하는 목록, 재사용 가능한 함수로서의 코드 조각
String
StringContains
StringContains(text: Text, search: Text) → Bool
텍스트의 어느 위치에든 다른 텍스트가 포함되어 있는지 확인합니다. 대/소문자가 일치해야 하며, 대/소문자를 구분하지 않으려면 양쪽에 StringToLower를 사용하십시오.
매개 변수
text: Text— 검색할 대상 텍스트입니다.search: Text— 찾을 텍스트입니다.
반환 값
search가 text 안에 있거나 search가 비어 있으면 true이고, 그렇지 않으면 false입니다.
예제 1개: 대/소문자를 구분하지 않는 비교
StringEndsWith
StringEndsWith(text: Text, suffix: Text) → Bool
텍스트가 파일 확장명 같은 특정 텍스트로 끝나는지 확인합니다. 대/소문자가 일치해야 합니다.
매개 변수
text: Text— 확인할 텍스트입니다.suffix: Text— 찾을 끝부분입니다(예: '.pdf').
반환 값
text가 suffix로 끝나거나 suffix가 비어 있으면 true이고, 그렇지 않으면 false입니다.
예제 1개: 폴더의 파일 형식별 개수 세기
StringFormat
StringFormat(format: Text, value0: Any, value1: Any) → Text
format의 모든 {0}을 value0으로, 모든 {1}을 value1로 바꿔 텍스트를 만듭니다. 숫자, Bool 또는 창을 Text로 바꾸는 방법입니다.
매개 변수
format: Text— {0} 및 {1} 자리 표시자가 있는 텍스트입니다. {2}는 없으므로 더 많은 값이 필요하면 호출을 중첩하십시오. {0}이 먼저 바뀌므로 value0 안에 있는 {1}도 바뀝니다.value0: Any— {0}에 들어갈 값으로, 종류는 상관없습니다.value1: Any— {1}에 들어갈 값으로, 종류는 상관없습니다. format에 {1}이 없으면 빈 텍스트를 전달하십시오.
반환 값
자리 표시자를 바꾼 format 텍스트입니다. Real은 소수점 이하 여섯 자리로 표시되고, true와 false는 단어로 표시됩니다.
예제 50개: 다섯 가지 값 형식, 카운트 루프: 증가, 감소, 일정 간격, 중첩 루프: 구구단, 종료 플래그가 있는 while (true), 예상과 다른 우선순위, &&와 ||는 양쪽을 모두 평가합니다, 형식이 다른 값의 같음 비교, 혼합 형식 산술은 0으로 대체됩니다, 주석, 빈 문, 블록, Integer와 Real 나눗셈, 0으로 나누기, % 없이 나머지 구하기, 반올림과 Real 수학 기본 제공 함수, 값을 범위 안으로 제한하기, 난수와 동전 던지기, 제스처 획의 길이, 소수 여섯 자리 없이 Real 서식 지정하기, 플래그 마스크: 설정, 해제, 전환, 검사, 커서 아래 픽셀 색 읽기, 설정된 비트 개수 세기, 시프트의 경계 사례, 두 Integer 맞바꾸기, 키 상태 비트, 값 두 개보다 많이 서식 지정하기, 분할하고 반복하기, 중첩 분할: 키=값 쌍, 마지막 인덱스: 파일 확장명, 숫자 앞을 0으로 채우기, 클립보드의 단어 수 세기, Text 순서는 서수 비교입니다, 명명된 상수와 숫자 그대로 쓰기, 표시되는 최상위 창 나열하기, 한 앱의 모든 창 최소화하기, 확인 후 제목 패턴으로 창 닫기, 창의 자식 컨트롤 살펴보기, 프로세스에서 창으로, 커서 아래에 있는 것 설명하기, 트리거 컨텍스트가 아는 모든 정보, 로그 파일에 추가하기, 파일을 읽고 줄 수 세기, 폴더의 파일 형식별 개수 세기, 횟수를 세는 반복 타이머, 다시 시작해도 유지되는 카운터, Storage에 보관하는 목록, 화면 표시와 함께 볼륨 높이기, 실시간으로 업데이트되는 표시 메시지, Windows 알림, 모니터 나열하기, 엔진 상태, 재사용 가능한 함수로서의 코드 조각, Arduino의 포트를 열어 두고 명령 보내기
StringFromNumber
StringFromNumber(number: Any, decimals: Integer, invariantCulture: Bool) → Text
숫자를 텍스트로 바꿉니다. 표시용으로 자릿수 구분 기호가 있는 사용자의 국가별 형식이나, 파일과 장치용의 고정된 기계 형식을 사용할 수 있습니다.
매개 변수
number: Any— 변환할 Integer 또는 Real입니다.decimals: Integer— 소수 구분 기호 뒤의 자릿수로 0에서 15 사이이며 반올림됩니다. -1이면 값에 필요한 만큼 표시합니다(Integer는 없음).invariantCulture: Bool— 기계용 텍스트(소수점은 마침표, 자릿수 구분 없음, StringToNumber(text, true)로 다시 읽을 수 있음)이면 true, 사용자의 국가별 형식이면 false입니다.
반환 값
텍스트로 바꾼 숫자입니다(예: 1,234.50 또는 1234.5). Real이 유한한 숫자가 아니면 빈 텍스트입니다. 숫자가 아닌 값이거나 decimals가 범위를 벗어나면 작업이 오류로 중지됩니다.
예제 1개: 사용자가 입력한 숫자 읽기
StringGetIndexOf
StringGetIndexOf(text: Text, search: Text) → Integer
한 텍스트가 다른 텍스트 안에서 처음 나타나는 위치를 찾습니다. 대/소문자가 일치해야 합니다. 위치는 0부터 시작합니다.
매개 변수
text: Text— 검색할 대상 텍스트입니다.search: Text— 찾을 텍스트입니다.
반환 값
처음 나타나는 위치(0부터 시작)입니다. search가 비어 있으면 0이고, search가 text에 없으면 -1입니다.
예제 1개: &&와 ||는 양쪽을 모두 평가합니다
StringGetLength
StringGetLength(text: Text) → Integer
공백과 줄 바꿈을 포함하여 텍스트의 문자 수를 반환합니다. StringGetSubstring에서 사용하는 위치도 같은 방식으로 셉니다.
매개 변수
text: Text— 길이를 잴 텍스트입니다.
반환 값
문자 수입니다. 빈 텍스트이면 0입니다. 일부 이모지와 드문 문자는 2로 계산됩니다.
예제 3개: 마지막 인덱스: 파일 확장명, 숫자 앞을 0으로 채우기, Text 뒤집기
StringGetSplitPartAt
StringGetSplitPartAt(index: Integer) → Text
이번 스크립트 실행에서 가장 최근의 StringSplit 호출로 나눈 부분 하나를 반환합니다.
매개 변수
index: Integer— 0부터 시작하는 부분 번호로, 0에서 StringSplit이 반환한 개수 빼기 1까지입니다.
반환 값
해당 부분의 텍스트입니다. index가 범위를 벗어났거나 이번 실행에서 StringSplit을 호출하지 않았으면 빈 텍스트입니다.
예제 6개: break와 continue, 분할하고 반복하기, 중첩 분할: 키=값 쌍, 클립보드의 단어 수 세기, 클립보드의 여러 줄을 한 줄로 합치기, 파일을 읽고 줄 수 세기
StringGetSubstring
StringGetSubstring(text: Text, start: Integer, length: Integer) → Text
텍스트의 일부, 즉 start 위치부터 최대 length개 문자를 반환합니다. 위치는 0부터 시작합니다.
매개 변수
text: Text— 일부를 가져올 텍스트입니다.start: Integer— 가져올 첫 문자의 위치(0부터 시작)입니다. 음수이면 안 됩니다.length: Integer— 가져올 최대 문자 수입니다. 음수이면 안 됩니다.
반환 값
요청한 부분입니다. 텍스트가 먼저 끝나면 더 짧아지고, start가 끝이거나 끝을 넘으면 빈 텍스트입니다. start나 length가 음수이면 작업이 오류로 중지됩니다.
예제 4개: &&와 ||는 양쪽을 모두 평가합니다, Integer를 16진수 텍스트로, 마지막 인덱스: 파일 확장명, Text 뒤집기
StringIsNumber
StringIsNumber(text: Text, invariantCulture: Bool) → Bool
사용자가 UIShowInputBox에 입력한 내용처럼, 텍스트가 StringToNumber로 읽을 수 있는 숫자인지 확인합니다. 숫자 앞뒤의 공백은 무시됩니다.
매개 변수
text: Text— 확인할 텍스트입니다.invariantCulture: Bool— 기계용 텍스트(소수점은 마침표, 자릿수 구분 없음)이면 true, 사람이 입력하는 대로의 사용자 국가별 형식이면 false이며, 이때 자릿수 그룹은 해당 형식의 그룹 크기를 따라야 합니다.
반환 값
텍스트가 선택한 형식의 숫자이면 true이고, 빈 텍스트를 포함하여 그렇지 않으면 false입니다.
예제 2개: 사용자가 입력한 숫자 읽기, Arduino 노브를 볼륨 조절기로 바꾸기
StringRegexGetGroupAt
StringRegexGetGroupAt(index: Integer) → Text
이번 스크립트 실행에서 가장 최근에 성공한 StringRegexMatch 호출의 전체 일치 항목 또는 캡처 그룹 하나를 반환합니다.
매개 변수
index: Integer— 전체 일치 항목은 0이고, 캡처 그룹은 여는 괄호가 나타나는 순서대로 1부터 시작합니다. 명명된 그룹에도 번호가 매겨집니다.
반환 값
일치한 텍스트입니다. index가 범위를 벗어났거나, 그룹이 일치에 참여하지 않았거나, 마지막 StringRegexMatch에서 일치 항목을 찾지 못했으면 빈 텍스트입니다.
예제 1개: 정규식으로 복사한 텍스트에서 값 추출하기
StringRegexMatch
StringRegexMatch(text: Text, pattern: Text) → Bool
정규식(PCRE2 구문)이 텍스트의 어느 위치에서든 일치하는지 확인하고, 일치 항목과 그룹을 StringRegexGetGroupAt에서 사용할 수 있도록 기억합니다.
매개 변수
text: Text— 검색할 텍스트입니다.pattern: Text— 정규식입니다. 대/소문자를 구분하며, 무시하려면 (?i)로 시작하십시오. 단어나 숫자 같은 문자 클래스는 유니코드를 따릅니다.
반환 값
패턴이 일치하면 true이고, 일치하지 않으면 false입니다. 패턴이 잘못되었거나 이 텍스트에서 너무 많은 단계가 필요하면 작업이 오류로 중지됩니다.
예제 1개: 정규식으로 복사한 텍스트에서 값 추출하기
StringRegexReplace
StringRegexReplace(text: Text, pattern: Text, replacement: Text) → Text
텍스트에서 정규식(PCRE2 구문)과 일치하는 모든 부분을 일치한 그룹을 포함할 수 있는 대체 텍스트로 바꿉니다.
매개 변수
text: Text— 변경할 텍스트입니다.pattern: Text— 정규식입니다. 대/소문자를 구분하며, 무시하려면 (?i)로 시작하십시오.replacement: Text— 각 일치 항목 대신 넣을 텍스트입니다. $1 또는 ${1}은 그룹 1, ${name}은 명명된 그룹, $0은 전체 일치 항목, $$는 리터럴 달러 기호를 삽입합니다.
반환 값
일치하는 모든 부분을 바꾼 텍스트이며, 일치하는 부분이 없으면 text가 그대로 반환됩니다. 패턴이나 대체 텍스트가 잘못되었거나, 단계가 너무 많거나, 결과가 1,600만 자를 넘으면 작업이 오류로 중지됩니다.
예제 1개: 정규식으로 복사한 텍스트에서 값 추출하기
StringReplace
StringReplace(text: Text, search: Text, replacement: Text) → Text
텍스트에서 특정 텍스트가 나타나는 모든 부분을 다른 텍스트로 바꿉니다. 대/소문자가 일치해야 합니다. 검색은 패턴이 아닌 리터럴 텍스트입니다.
매개 변수
text: Text— 변경할 텍스트입니다.search: Text— 찾을 텍스트입니다. 비어 있으면 안 됩니다.replacement: Text— 대신 넣을 텍스트입니다. 비워 두면 나타나는 모든 부분이 제거됩니다.
반환 값
나타나는 모든 부분을 바꾼 텍스트이며, search가 없으면 text가 그대로 반환됩니다. search가 비어 있으면 작업이 오류로 중지됩니다.
예제 3개: 클립보드의 단어 수 세기, 템플릿을 채워 붙여 넣기, 선택 영역으로 웹 검색하기
StringSplit
StringSplit(text: Text, delimiter: Text) → Integer
구분 기호가 나타날 때마다 텍스트를 나누고, 나눈 부분을 StringGetSplitPartAt에서 사용할 수 있도록 기억합니다. 구분 기호가 연속되거나 양 끝에 있으면 빈 부분이 생깁니다.
매개 변수
text: Text— 나눌 텍스트입니다.delimiter: Text— 나눌 기준이 되는 리터럴 텍스트입니다(예: ',' 또는 줄 바꿈). 비어 있으면 안 됩니다.
반환 값
부분의 개수로, 최소 1입니다. 구분 기호가 비어 있으면 작업이 오류로 중지됩니다.
예제 6개: break와 continue, 분할하고 반복하기, 중첩 분할: 키=값 쌍, 클립보드의 단어 수 세기, 클립보드의 여러 줄을 한 줄로 합치기, 파일을 읽고 줄 수 세기
StringStartsWith
StringStartsWith(text: Text, prefix: Text) → Bool
텍스트가 특정 텍스트로 시작하는지 확인합니다. 대/소문자가 일치해야 합니다.
매개 변수
text: Text— 확인할 텍스트입니다.prefix: Text— 찾을 시작 부분입니다.
반환 값
text가 prefix로 시작하거나 prefix가 비어 있으면 true이고, 그렇지 않으면 false입니다.
예제 2개: break와 continue, 파일을 읽고 줄 수 세기
StringToLower
StringToLower(text: Text) → Text
사용자의 Windows 국가별 형식의 대/소문자 규칙(예: 터키어의 점 있는 i와 점 없는 i)에 따라 텍스트를 소문자로 변환합니다.
매개 변수
text: Text— 변환할 텍스트입니다.
반환 값
소문자로 바꾼 텍스트입니다. Windows가 변환할 수 없으면 text가 그대로 반환됩니다.
예제 4개: 대/소문자를 구분하지 않는 비교, Text 순서는 서수 비교입니다, 인식되지 않은 그림을 그대로 전달하기, 폴더의 파일 형식별 개수 세기
StringToNumber
StringToNumber(text: Text, invariantCulture: Bool) → Any
사용자 입력, 파일 또는 직렬 장치에서 받은 텍스트에서 숫자를 읽습니다. 숫자 앞뒤의 공백은 무시되며, 1.5e3 같은 지수도 허용됩니다.
매개 변수
text: Text— 읽을 텍스트입니다.invariantCulture: Bool— 기계용 텍스트(소수점은 마침표, 자릿수 구분 없음, 따라서 '1,5'는 숫자가 아님)이면 true, 사람이 입력하는 대로의 사용자 국가별 형식이면 false입니다. 이때 자릿수 그룹은 해당 형식을 따라야 하므로 한국어(대한민국)에서 '1,234.5'는 읽히지만 '1,5'는 읽히지 않습니다.
반환 값
텍스트에 소수 구분 기호나 지수가 없고 범위에 맞으면 Integer, 그렇지 않으면 Real입니다. 텍스트가 숫자가 아니면 0이므로 먼저 StringIsNumber로 확인하십시오.
예제 2개: 사용자가 입력한 숫자 읽기, Arduino 노브를 볼륨 조절기로 바꾸기
StringToUpper
StringToUpper(text: Text) → Text
사용자의 Windows 국가별 형식의 대/소문자 규칙(예: 터키어의 점 있는 i와 점 없는 i)에 따라 텍스트를 대문자로 변환합니다.
매개 변수
text: Text— 변환할 텍스트입니다.
반환 값
대문자로 바꾼 텍스트입니다. Windows가 변환할 수 없으면 text가 그대로 반환됩니다.
예제 2개: 선택한 텍스트를 대문자로 바꾸기, 편집하기 전에 파일 백업하기
StringTrim
StringTrim(text: Text) → Text
텍스트의 시작과 끝에서 공백, 탭, 줄 바꿈 및 기타 공백 문자를 제거합니다. 텍스트 안의 공백 문자는 유지됩니다.
매개 변수
text: Text— 앞뒤 공백을 제거할 텍스트입니다.
반환 값
앞뒤 공백을 제거한 텍스트입니다. text가 공백 문자로만 이루어져 있었으면 빈 텍스트입니다.
예제 6개: 클립보드의 단어 수 세기, 클립보드의 여러 줄을 한 줄로 합치기, 선택한 텍스트로 웹 검색하기, 선택 영역으로 웹 검색하기, 파일을 읽고 줄 수 세기, 직렬 장치의 단추를 미디어 키에 매핑하기
StringUrlEncode
StringUrlEncode(text: Text) → Text · 간단히
선택한 텍스트로 만든 검색어처럼 텍스트를 웹 주소 안에 넣을 수 있도록 인코딩합니다. 주소 전체가 아니라 값만 인코딩하십시오.
매개 변수
text: Text— 인코딩할 텍스트입니다(예: 검색어).
반환 값
인코딩된 텍스트입니다. 문자, 숫자 및 - . _ ~는 그대로 유지되고, UTF-8 텍스트의 다른 모든 바이트는 퍼센트 기호와 16진수 두 자리로 된 이스케이프가 됩니다. 공백은 더하기 기호가 아니라 퍼센트 기호와 20이 됩니다.
예제 1개: 선택한 텍스트로 웹 검색하기
Style
StyleGetCurrent
StyleGetCurrent() → Text · 간단히
렌더러 플러그 인이 현재 그리는 궤적 스타일의 키(예: neonglow)를 반환하며, 셔플이 선택되어 있으면 shuffle을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
스타일의 키입니다. 사용할 수 있는 스타일이 선택되어 있지 않으면 렌더러의 기본 스타일이고, 실행 중인 렌더러가 없거나 렌더러가 스타일을 보고하지 않았으면 빈 텍스트입니다.
StyleNext
StyleNext() → Bool · 간단히
렌더러 목록에서 잠금 해제된 다음 궤적 스타일을 선택하며, 목록 끝에 이르면 처음으로 돌아갑니다. 새 스타일은 다음 제스처부터 그려집니다.
매개 변수
매개 변수가 없습니다.
반환 값
스타일 변경을 요청한 경우 true이고, 실행 중인 렌더러가 없거나 선택할 다른 스타일이 없으면 false입니다.
StyleSet
StyleSet(key: Text) → Bool · 간단히
이 키를 가진 렌더러의 궤적 스타일을 선택하며, 다음 제스처부터 그려집니다. 자체 스타일이 있는 그리기 단추는 그 스타일을 유지합니다.
매개 변수
key: Text— 스타일의 키입니다(예: neonglow 또는 auto). 대/소문자를 구분하지 않습니다. 제스처마다 다른 스타일을 사용하려면 shuffle을 지정하십시오.
반환 값
스타일 변경을 요청한 경우 true이고, 실행 중인 렌더러가 없거나, 해당 키를 가진 스타일이 없거나, 스타일이 잠겨 있으면 false입니다.
System
SystemHibernate
SystemHibernate() → Bool · 간단히
묻지 않고 컴퓨터를 최대 절전 모드로 전환합니다. 스크립트는 여기서 기다렸다가 컴퓨터가 다시 켜진 후 계속됩니다. Windows에서 최대 절전 모드가 꺼져 있으면 아무 작업도 하지 않습니다.
매개 변수
매개 변수가 없습니다.
반환 값
컴퓨터가 최대 절전 모드로 전환되었다가 다시 시작된 후 true이고, 최대 절전 모드를 사용할 수 없거나 Windows가 거부한 경우 false입니다.
SystemLock
SystemLock() → Bool · 간단히
Windows+L과 마찬가지로 컴퓨터를 잠그고 Windows 로그인 화면을 표시합니다. 앱은 계속 실행됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
Windows가 컴퓨터를 잠근 경우 true이고, 정책으로 잠금이 사용하지 않도록 설정된 경우처럼 Windows가 거부한 경우 false입니다.
SystemMonitorOff
SystemMonitorOff() → Bool · 간단히
모니터를 끕니다. 다음 마우스 이동이나 키 누름으로 모니터가 다시 켜지므로, 제스처로 시작한 스크립트는 먼저 UtilityWait(500)을 호출해야 합니다.
매개 변수
매개 변수가 없습니다.
반환 값
요청을 Windows에 보낸 경우 true이고, 보낼 수 없는 경우 false입니다.
SystemRestart
SystemRestart(force: Bool) → Bool · 간단히
확인을 묻지 않고 컴퓨터를 다시 시작합니다. Windows가 먼저 실행 중인 앱을 닫습니다. 확인을 받으려면 먼저 UIShowMessageBox를 표시하십시오.
매개 변수
force: Bool— false이면 앱이 저장하지 않은 작업을 저장할지 물을 수 있습니다(응답하지 않는 앱만 강제로 닫힘). true이면 모든 앱을 즉시 닫으며 저장하지 않은 작업은 손실됩니다.
반환 값
Windows가 다시 시작 요청을 수락한 경우(이후 스스로 진행됨) true이고, Windows가 거부한 경우 false입니다.
SystemShutDown
SystemShutDown(force: Bool) → Bool · 간단히
확인을 묻지 않고 컴퓨터를 종료하고 전원을 끕니다. 확인을 받으려면 먼저 UIShowMessageBox를 표시하십시오.
매개 변수
force: Bool— false이면 앱이 저장하지 않은 작업을 저장할지 물을 수 있습니다(응답하지 않는 앱만 강제로 닫힘). true이면 모든 앱을 즉시 닫으며 저장하지 않은 작업은 손실됩니다.
반환 값
Windows가 종료 요청을 수락한 경우(이후 스스로 진행됨) true이고, Windows가 거부한 경우 false입니다.
SystemSignOut
SystemSignOut(force: Bool) → Bool · 간단히
확인을 묻지 않고 현재 사용자를 Windows에서 로그아웃하며, 이때 모든 앱과 Input.Observer가 닫힙니다.
매개 변수
force: Bool— false이면 앱이 저장하지 않은 작업을 저장할지 물을 수 있습니다(응답하지 않는 앱만 강제로 닫힘). true이면 모든 앱을 즉시 닫으며 저장하지 않은 작업은 손실됩니다.
반환 값
Windows가 로그아웃 요청을 수락한 경우(이후 스스로 진행됨) true이고, Windows가 거부한 경우 false입니다.
SystemSleep
SystemSleep() → Bool · 간단히
묻지 않고 컴퓨터를 절전 모드로 전환합니다. 스크립트는 여기서 기다렸다가 컴퓨터가 깨어난 후 계속됩니다. 최신 대기(Modern Standby) 컴퓨터에서는 아무 작업도 하지 않으므로 SystemMonitorOff를 사용하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
컴퓨터가 절전 모드로 전환되었다가 깨어난 후 true이고, 이 컴퓨터에 프로그램이 시작할 수 있는 절전 상태가 없거나 Windows가 거부한 경우 false입니다.
Timer
TimerCreate
TimerCreate(name: Text, startDelayMs: Integer, intervalMs: Integer, repeatCount: Integer, script: Text) → Bool
지연 시간 후 스크립트 텍스트를 실행하고 이후 일정한 간격으로 실행하는 이름 있는 타이머를 만들거나, 그 이름의 타이머를 바꿉니다. 타이머는 스크립트가 끝난 후에도 삭제되거나 엔진이 종료될 때까지 계속 실행됩니다.
매개 변수
name: Text— TimerDelete에서 사용하는 타이머 이름입니다. 대/소문자를 구분하며, 이 이름의 기존 타이머는 바뀝니다.startDelayMs: Integer— 첫 실행 전 지연 시간(밀리초)으로, 0 이상입니다.intervalMs: Integer— 실행 간격(밀리초)으로, 1 이상입니다. 각 실행은 이전 실행이 끝날 때까지 기다리지 않습니다.repeatCount: Integer— 실행할 총 횟수입니다. 0이면 타이머가 삭제될 때까지 반복합니다.script: Text— 각 틱에서 실행할 스크립트 텍스트입니다. 트리거 컨텍스트나 이 스크립트의 변수 없이 독립적으로 실행됩니다.
반환 값
타이머가 설정되면 true입니다. startDelayMs나 repeatCount가 음수이거나 intervalMs가 1보다 작으면 스크립트가 오류로 중지됩니다.
예제 2개: 횟수를 세는 반복 타이머, 이스케이프가 필요 없는 코드 조각 기반 타이머 스크립트
TimerDelete
TimerDelete(name: Text) → Bool
이 이름의 타이머를 제거하여 다시 실행되지 않게 합니다.
매개 변수
name: Text— TimerCreate에 지정한 타이머 이름입니다. 대/소문자를 구분합니다.
반환 값
타이머가 있어서 제거한 경우 true이고, 해당 이름의 타이머가 없었으면 false입니다.
예제 1개: 타이머 나열 및 중지하기
TimerDeleteAll
TimerDeleteAll() → Bool
TimerCreate로 만든 모든 타이머를 제거하여 어느 것도 다시 실행되지 않게 합니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
예제 1개: 타이머 나열 및 중지하기
TimerEnumerateAll
TimerEnumerateAll() → Integer
현재 모든 타이머의 이름 목록을 만들고 개수를 반환합니다. 각 이름은 TimerGetEnumeratedNameAt으로 읽습니다.
매개 변수
매개 변수가 없습니다.
반환 값
타이머 수입니다. 없으면 0입니다.
예제 1개: 타이머 나열 및 중지하기
TimerGetEnumeratedNameAt
TimerGetEnumeratedNameAt(index: Integer) → Text
이 스크립트에서 TimerEnumerateAll로 마지막에 만든 목록의 타이머 이름 하나를 반환합니다.
매개 변수
index: Integer— 목록에서의 위치로, 0부터 시작하며 0에서 개수 빼기 1까지입니다. 순서에는 의미가 없습니다.
반환 값
타이머 이름입니다. index가 범위를 벗어났거나 TimerEnumerateAll을 호출하지 않았으면 빈 텍스트입니다.
예제 1개: 타이머 나열 및 중지하기
Tray
TrayMinimizeWindow
TrayMinimizeWindow(window: Window) → Bool
창을 숨기고 그 창의 아이콘과 제목으로 트레이 아이콘을 표시합니다. 아이콘을 클릭하면 창이 원래 위치에 복원됩니다. 컨트롤을 지정하면 그 최상위 창이 숨겨집니다.
매개 변수
window: Window— 숨길 창입니다(예: ContextGetWindow()).
반환 값
요청이 수락된 경우 true이고, null 창이거나 더 이상 없는 창이면 false입니다.
예제 1개: 창을 트레이에 숨기기
TrayRestoreAllWindows
TrayRestoreAllWindows() → Bool
TrayMinimizeWindow로 숨긴 모든 창을 복원하고 해당 트레이 아이콘을 제거합니다.
매개 변수
매개 변수가 없습니다.
반환 값
요청을 보낸 경우 true이고, 엔진이 아직 시작을 마치지 않았으면 false입니다.
UI
UIClearPrintLog
UIClearPrintLog() → Bool
UtilityPrint 출력이 표시되는 진단 콘솔의 [사용자] 탭을 지웁니다. 콘솔이 닫혀 있는 동안 저장된 출력도 지워집니다.
매개 변수
매개 변수가 없습니다.
반환 값
항상 true입니다.
UICloseDisplayMessage
UICloseDisplayMessage(sessionId: Integer) → Bool
UIShowDisplayMessage로 연 화면 메시지 하나를 닫습니다. 해당 메시지가 이미 닫혔으면 아무 작업도 하지 않습니다.
매개 변수
sessionId: Integer— 닫을 메시지에 대해 UIShowDisplayMessage가 반환한 ID입니다.
반환 값
메시지가 이미 닫힌 경우를 포함하여 항상 true입니다.
예제 1개: 실시간으로 업데이트되는 표시 메시지
UIGetCulture
UIGetCulture() → Text
UISetCulture, 언어 설정 또는 Windows에 따라 정해진, Input.Observer가 자체 텍스트(트레이 메뉴, 메시지, 오류 텍스트)에 사용하는 언어 및 지역을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
설정된 그대로의 문화권 이름(예: en-US 또는 es-ES)이며, 다른 지역의 번역이 대신 사용되는 경우에도 마찬가지입니다.
UISetCulture
UISetCulture(culture: Text) → Bool
Input.Observer가 종료되거나 언어 설정이 바뀔 때까지 자체 텍스트(트레이 메뉴, 메시지, 오류 텍스트)에 사용하는 언어를 전환합니다. 설정 창이나 저장된 설정은 바뀌지 않습니다.
매개 변수
culture: Text— en-US, de-DE 또는 es-MX 같은 문화권 이름입니다.
반환 값
문화권이 적용된 경우 true이고, culture가 Windows에서 알 수 없는 문화권이거나 Input.Observer에 해당 언어의 번역이 없으면 false이며 언어는 그대로 유지됩니다. es-ES처럼 번역된 언어의 다른 지역은 허용됩니다.
UIShowConsole
UIShowConsole() → Bool
진단 콘솔을 열거나, 이미 열려 있으면 맨 앞으로 가져오고, 열릴 때까지 기다립니다. 구성이 암호로 보호되어 있으면 암호를 묻는 동안 기다립니다. 콘솔은 자체 닫기 단추로만 닫힙니다.
매개 변수
매개 변수가 없습니다.
반환 값
콘솔이 열리면 true이고, 암호 확인 메시지가 취소되었거나 콘솔의 저장된 상태를 읽을 수 없는 등의 이유로 열리지 않으면 false입니다.
UIShowDisplayMessage
UIShowDisplayMessage(title: Text, message: Text, durationMs: Integer, opacity: Real, location: Any, titleFontFamily: Text, titleFontSizePt: Integer, titleBold: Bool, titleItalic: Bool, messageFontFamily: Text, messageFontSizePt: Integer, messageBold: Bool, messageItalic: Bool, foreColor: Text, backColor: Text, paddingPx: Integer, usePrimaryScreen: Bool, titleAlign: Integer, messageAlign: Integer) → Integer · 간단히
화면의 고정된 위치에 제목 줄과 메시지 줄이 있는 패널을 표시하고 바로 반환합니다. 여러 패널을 함께 열 수 있으며, 이 패널을 업데이트하거나 닫으려면 반환된 ID를 보관하십시오.
매개 변수
title: Text— 제목 글꼴로 그려지는 맨 위 줄의 텍스트입니다. 빈 텍스트이면 이 줄이 생략됩니다.message: Text— 메시지 글꼴로 그려지는 두 번째 줄의 텍스트입니다. 긴 텍스트는 여러 줄로 줄 바꿈됩니다. 빈 텍스트이면 이 줄이 생략됩니다.durationMs: Integer— 패널이 표시되는 시간(밀리초)입니다. 0 이하이면 UICloseDisplayMessage로 닫을 때까지 유지됩니다(기본 제공 패널은 두 번 클릭해도 닫힘).opacity: Real— 패널의 불투명도로, 0.05(거의 보이지 않음)에서 1.0(완전 불투명) 사이입니다. 이 범위를 벗어난 값은 범위 안으로 제한됩니다.location: Any— 표시할 위치입니다. Location.BottomCenter 같은 Location 상수(작업 표시줄이 가리지 않는 화면 영역 안에 배치됨) 또는 공백 없이 패널의 왼쪽 위 모서리를 화면 픽셀로 지정하는 Text 'x,y'(예: '100,200')를 사용합니다. 그 밖의 값이면 작업이 오류로 중지됩니다.titleFontFamily: Text— 제목 줄의 글꼴 이름입니다(예: Segoe UI).titleFontSizePt: Integer— 제목 글꼴 크기(포인트)입니다. 1보다 작은 값은 1로 처리됩니다.titleBold: Bool— 제목 줄을 굵게 그리려면 true입니다.titleItalic: Bool— 제목 줄을 기울임꼴로 그리려면 true입니다.messageFontFamily: Text— 메시지 줄의 글꼴 이름입니다(예: Segoe UI).messageFontSizePt: Integer— 메시지 글꼴 크기(포인트)입니다. 1보다 작은 값은 1로 처리됩니다.messageBold: Bool— 메시지 줄을 굵게 그리려면 true입니다.messageItalic: Bool— 메시지 줄을 기울임꼴로 그리려면 true입니다.foreColor: Text— 두 줄의 텍스트 색입니다. white나 black 같은 색 이름, '#RRGGBB', 또는 각 숫자가 0에서 255 사이이고 공백이 없는 'R,G,B'를 사용합니다. 그 밖의 값이면 작업이 오류로 중지됩니다.backColor: Text— 배경색으로, foreColor와 같은 형식입니다(예: '#F7F7F5'). 패널을 투명하게 하려면 색이 아니라 opacity를 사용하십시오.paddingPx: Integer— 텍스트 주위의 빈 공간으로, 100퍼센트 디스플레이 배율 기준의 픽셀이며 디스플레이 배율에 따라 커집니다. 0보다 작은 값은 0으로 처리됩니다.usePrimaryScreen: Bool— Location을 주 모니터에 배치하려면 true, 현재 마우스 포인터가 있는 모니터를 사용하려면 false입니다. 'x,y' 위치에서는 무시됩니다.titleAlign: Integer— 제목 줄의 맞춤입니다: TextAlign.Left, TextAlign.Center 또는 TextAlign.Right. 다른 값이면 작업이 오류로 중지됩니다.messageAlign: Integer— 메시지 줄의 맞춤입니다: TextAlign.Left, TextAlign.Center 또는 TextAlign.Right. 다른 값이면 작업이 오류로 중지됩니다.
반환 값
UIUpdateDisplayMessage와 UICloseDisplayMessage에서 사용할 메시지의 세션 ID로, 항상 0보다 큽니다. 설정에서 메시지가 꺼져 있어 아무것도 표시되지 않아도 ID가 반환됩니다.
예제 2개: 화면 표시와 함께 볼륨 높이기, 실시간으로 업데이트되는 표시 메시지
UIShowInputBox
UIShowInputBox(prompt: Text, title: Text, defaultText: Text) → Text · 간단히
사용자에게 텍스트 한 줄을 입력하도록 요청하는 상자를 [확인] 및 [취소] 단추와 함께 표시합니다. 상자가 닫힐 때까지 스크립트를 차단한 다음, 포커스를 원래 창으로 되돌립니다.
매개 변수
prompt: Text— 텍스트 필드 위에 표시되는 질문입니다. 2000자보다 긴 텍스트는 잘립니다.title: Text— 상자의 제목 표시줄에 표시되는 제목입니다.defaultText: Text— 상자가 열릴 때 필드에 미리 들어 있는 텍스트로, 선택된 상태이므로 입력하면 바뀝니다. 빈 필드를 원하면 빈 텍스트를 사용하십시오.
반환 값
사용자가 [확인]을 클릭하면 입력한 텍스트(최대 4096자)이고, [취소], Esc 또는 닫기 단추를 사용하면 빈 텍스트입니다. 아무것도 입력하지 않고 [확인]을 클릭해도 빈 텍스트를 반환합니다.
예제 2개: 사용자가 입력한 숫자 읽기, 제스처 하나, 여러 선택지
UIShowMenu
UIShowMenu(items: Text) → Integer · 간단히
마우스 포인터 위치에 팝업 메뉴를 표시하여 제스처나 단축키 하나로 여러 선택 항목을 제공할 수 있습니다. 사용자가 항목을 선택하거나 메뉴를 닫을 때까지 스크립트를 차단합니다.
매개 변수
items: Text— 메뉴 항목으로, 한 줄에 하나씩입니다. - 만 있는 줄은 구분선이며, 빈 줄은 건너뜁니다. 항목은 1개에서 100개까지이며 그렇지 않으면 작업이 오류로 중지됩니다. 260자보다 긴 항목은 잘립니다. 문자 앞에 &를 넣으면 해당 항목의 바로 가기 키가 되며, &&는 & 하나로 표시됩니다.
반환 값
선택한 항목의 위치(0부터 시작, 구분선 제외하고 항목만 셈)입니다. 메뉴가 닫혔거나 표시할 수 없으면 -1입니다.
예제 1개: 제스처 하나, 여러 선택지
UIShowMessageBox
UIShowMessageBox(message: Text, title: Text, buttons: Text, icon: Text) → Text · 간단히
표준 Windows 메시지 상자를 다른 창 앞에 표시하고 사용자가 단추를 누를 때까지 기다립니다. 상자가 닫힐 때까지 스크립트를 차단합니다.
매개 변수
message: Text— 상자에 표시되는 메시지 텍스트입니다.title: Text— 상자의 제목 표시줄에 표시되는 제목입니다.buttons: Text— 표시할 단추로, 정확히 다음 중 하나로 씁니다: OK, OKCancel, YesNo, YesNoCancel, RetryCancel 또는 AbortRetryIgnore. 그 밖의 값이면 작업이 오류로 중지됩니다.icon: Text— 표시할 아이콘으로, 정확히 다음 중 하나로 씁니다: None, Information, Warning, Error 또는 Question. 그 밖의 값이면 작업이 오류로 중지됩니다.
반환 값
누른 단추입니다: OK, Cancel, Yes, No, Retry, Abort 또는 Ignore(Esc나 닫기 단추로 상자를 닫으면 [취소] 단추가 있을 때 Cancel 반환). 상자를 표시할 수 없으면 빈 텍스트입니다.
예제 3개: 사용자가 입력한 숫자 읽기, 확인 후 제목 패턴으로 창 닫기, 질문하기
UIShowSettings
UIShowSettings() → Bool · 간단히
Input.Observer 설정 창을 열거나, 이미 열려 있으면 맨 앞으로 가져옵니다. 창 로드가 끝날 때까지 기다리지 않고 반환됩니다.
매개 변수
매개 변수가 없습니다.
반환 값
설정 창을 앞으로 가져왔거나 시작한 경우 true이고, Input.Observer.UI.exe가 없거나, 시작할 수 없거나, 엔진이 3초 안에 응답하지 않은 경우 false입니다.
UIUpdateDisplayMessage
UIUpdateDisplayMessage(sessionId: Integer, title: Text, message: Text, durationMs: Integer, opacity: Real, location: Any, titleFontFamily: Text, titleFontSizePt: Integer, titleBold: Bool, titleItalic: Bool, messageFontFamily: Text, messageFontSizePt: Integer, messageBold: Bool, messageItalic: Bool, foreColor: Text, backColor: Text, paddingPx: Integer, usePrimaryScreen: Bool, titleAlign: Integer, messageAlign: Integer) → Bool
열려 있는 UIShowDisplayMessage 패널의 모든 속성(텍스트, 위치, 글꼴, 색, 표시 시간)을 새 값으로 바꿉니다. 표시 시간은 이 호출부터 다시 시작됩니다.
매개 변수
sessionId: Integer— 변경할 메시지에 대해 UIShowDisplayMessage가 반환한 ID입니다.title: Text— 제목 글꼴로 그려지는 맨 위 줄의 새 텍스트입니다. 빈 텍스트이면 이 줄이 생략됩니다.message: Text— 메시지 글꼴로 그려지는 두 번째 줄의 새 텍스트입니다. 긴 텍스트는 여러 줄로 줄 바꿈됩니다. 빈 텍스트이면 이 줄이 생략됩니다.durationMs: Integer— 지금부터 패널이 표시되는 시간(밀리초)입니다. 0 이하이면 UICloseDisplayMessage로 닫을 때까지 유지됩니다(기본 제공 패널은 두 번 클릭해도 닫힘).opacity: Real— 패널의 불투명도로, 0.05(거의 보이지 않음)에서 1.0(완전 불투명) 사이입니다. 이 범위를 벗어난 값은 범위 안으로 제한됩니다.location: Any— 표시할 위치입니다. Location.BottomCenter 같은 Location 상수(작업 표시줄이 가리지 않는 화면 영역 안에 배치됨) 또는 공백 없이 패널의 왼쪽 위 모서리를 화면 픽셀로 지정하는 Text 'x,y'(예: '100,200')를 사용합니다. 그 밖의 값이면 작업이 오류로 중지됩니다.titleFontFamily: Text— 제목 줄의 글꼴 이름입니다(예: Segoe UI).titleFontSizePt: Integer— 제목 글꼴 크기(포인트)입니다. 1보다 작은 값은 1로 처리됩니다.titleBold: Bool— 제목 줄을 굵게 그리려면 true입니다.titleItalic: Bool— 제목 줄을 기울임꼴로 그리려면 true입니다.messageFontFamily: Text— 메시지 줄의 글꼴 이름입니다(예: Segoe UI).messageFontSizePt: Integer— 메시지 글꼴 크기(포인트)입니다. 1보다 작은 값은 1로 처리됩니다.messageBold: Bool— 메시지 줄을 굵게 그리려면 true입니다.messageItalic: Bool— 메시지 줄을 기울임꼴로 그리려면 true입니다.foreColor: Text— 두 줄의 텍스트 색입니다. white나 black 같은 색 이름, '#RRGGBB', 또는 각 숫자가 0에서 255 사이이고 공백이 없는 'R,G,B'를 사용합니다. 그 밖의 값이면 작업이 오류로 중지됩니다.backColor: Text— 배경색으로, foreColor와 같은 형식입니다(예: '#F7F7F5'). 패널을 투명하게 하려면 색이 아니라 opacity를 사용하십시오.paddingPx: Integer— 텍스트 주위의 빈 공간으로, 100퍼센트 디스플레이 배율 기준의 픽셀이며 디스플레이 배율에 따라 커집니다. 0보다 작은 값은 0으로 처리됩니다.usePrimaryScreen: Bool— Location을 주 모니터에 배치하려면 true, 현재 마우스 포인터가 있는 모니터를 사용하려면 false입니다. 'x,y' 위치에서는 무시됩니다.titleAlign: Integer— 제목 줄의 맞춤입니다: TextAlign.Left, TextAlign.Center 또는 TextAlign.Right. 다른 값이면 작업이 오류로 중지됩니다.messageAlign: Integer— 메시지 줄의 맞춤입니다: TextAlign.Left, TextAlign.Center 또는 TextAlign.Right. 다른 값이면 작업이 오류로 중지됩니다.
반환 값
메시지가 이미 닫힌 경우(이때 호출은 아무 작업도 하지 않음)를 포함하여 항상 true입니다.
예제 1개: 실시간으로 업데이트되는 표시 메시지
Utility
UtilityGetTickCount
UtilityGetTickCount() → Integer
Windows가 시작된 이후의 밀리초 수를 반환합니다. 두 값을 빼서 경과 시간을 측정할 수 있습니다(예: 이중 트리거 감지). 시계가 아니므로 시각을 알려면 DateTimeGetNow를 사용하십시오.
매개 변수
매개 변수가 없습니다.
반환 값
Windows가 시작된 이후의 밀리초를 Integer로 반환합니다.
UtilityLockAcquire
UtilityLockAcquire(name: Text, timeoutSeconds: Integer) → Integer
이름 있는 잠금을 얻어 한 번에 하나의 작업만 스크립트의 특정 구간을 실행하게 합니다. 잠금이 해제되거나 timeoutSeconds가 지날 때까지 스크립트를 차단합니다. 스크립트가 끝나면 잠금이 자동으로 해제됩니다.
매개 변수
name: Text— 잠금의 이름으로, 1자에서 255자 사이이며 모든 작업이 공유합니다. 대문자와 소문자는 같게 취급됩니다. 이 스크립트가 이미 가진 잠금을 다시 얻을 수 있으며, 이 경우 UtilityLockRelease가 한 번 더 필요합니다.timeoutSeconds: Integer— 기다릴 최대 시간(초)입니다. 0이거나 24일을 넘으면 잠금이 해제되거나 작업이 중지될 때까지 기다립니다. 음수 값이면 작업이 오류로 중지됩니다.
반환 값
LockResult.Acquired, LockResult.TimedOut(기다리는 동안 작업이 중지된 경우 포함) 또는 잠금이 고정되어 있으면 즉시 LockResult.Pinned입니다.
예제 1개: 한 번에 한 작업만 특정 구간 실행하기
UtilityLockAcquirePinned
UtilityLockAcquirePinned(name: Text, timeoutSeconds: Integer) → Integer
이름 있는 잠금을 얻어 고정하므로, 스크립트가 끝난 후에도 잠금이 유지됩니다. 같은 스크립트 실행의 UtilityLockRelease나 구성 다시 로드만 잠금을 해제합니다. UtilityLockAcquire처럼 차단합니다.
매개 변수
name: Text— 잠금의 이름으로, 1자에서 255자 사이이며 모든 작업이 공유합니다. 대문자와 소문자는 같게 취급됩니다. 이 스크립트가 이미 가진 잠금은 고정됩니다.timeoutSeconds: Integer— 기다릴 최대 시간(초)입니다. 0이거나 24일을 넘으면 잠금이 해제되거나 작업이 중지될 때까지 기다립니다. 음수 값이면 작업이 오류로 중지됩니다.
반환 값
LockResult.Acquired, LockResult.TimedOut(기다리는 동안 작업이 중지된 경우 포함) 또는 잠금이 이미 고정되어 있으면 즉시 LockResult.Pinned입니다.
UtilityLockGetState
UtilityLockGetState(name: Text) → Integer
이름 있는 잠금이 해제 상태인지, 이 스크립트가 가지고 있는지, 다른 작업이 가지고 있는지, 고정되어 있는지 알려 줍니다. 기다리지 않습니다.
매개 변수
name: Text— 잠금의 이름으로, 1자에서 255자 사이입니다. 대문자와 소문자는 같게 취급됩니다.
반환 값
LockState.Free, LockState.HeldByMe, LockState.HeldByOther 또는 LockState.Pinned입니다. 고정된 잠금은 고정한 스크립트에도 LockState.Pinned로 보고됩니다.
UtilityLockRelease
UtilityLockRelease(name: Text) → Bool
이 스크립트가 가진 이름 있는 잠금을 해제하거나 고정을 제거합니다. 여러 번 얻은 잠금은 같은 횟수만큼 해제해야 풀립니다.
매개 변수
name: Text— 잠금의 이름으로, 1자에서 255자 사이입니다. 대문자와 소문자는 같게 취급됩니다.
반환 값
이 스크립트가 잠금을 가지고 있었으면 true이고, 아무도 가지고 있지 않거나 다른 작업이 가지고 있으면 아무 작업도 하지 않고 false입니다.
예제 1개: 한 번에 한 작업만 특정 구간 실행하기
UtilityPrint
UtilityPrint(text: Text) → Bool
진단 콘솔의 [사용자] 섹션에 텍스트 한 줄을 쓰며, 스크립트를 콘솔에서 실행한 경우에는 [스크립트] 섹션의 출력에 씁니다. 콘솔이 닫혀 있는 동안 출력한 줄은 다음에 콘솔을 열 때 표시됩니다.
매개 변수
text: Text— 쓸 텍스트입니다. 숫자는 먼저 StringFormat이나 StringFromNumber로 Text로 바꾸십시오.
반환 값
항상 true입니다.
예제 70개: Hello, 콘솔, 다섯 가지 값 형식, 모든 형식의 참/거짓 판정, else-if 연쇄, 카운트 루프: 증가, 감소, 일정 간격, 중첩 루프: 구구단, while 루프: 시간 제한을 두고 창 기다리기, 종료 플래그가 있는 while (true), break와 continue, 예상과 다른 우선순위, &&와 ||는 양쪽을 모두 평가합니다, 형식이 다른 값의 같음 비교, 혼합 형식 산술은 0으로 대체됩니다, 주석, 빈 문, 블록, Integer와 Real 나눗셈, 0으로 나누기, % 없이 나머지 구하기, 반올림과 Real 수학 기본 제공 함수, 값을 범위 안으로 제한하기, 난수와 동전 던지기, 제스처 획의 길이, 소수 여섯 자리 없이 Real 서식 지정하기, 플래그 마스크: 설정, 해제, 전환, 검사, 커서 아래 픽셀 색 읽기, Integer를 16진수 텍스트로, 설정된 비트 개수 세기, 시프트의 경계 사례, 두 Integer 맞바꾸기, 키 상태 비트, 문자열 이스케이프와 Windows 경로, 값 두 개보다 많이 서식 지정하기, 분할하고 반복하기, 중첩 분할: 키=값 쌍, 마지막 인덱스: 파일 확장명, 사용자가 입력한 숫자 읽기, 프로그램을 실행하고 창을 기다린 다음 작업하기, 정규식으로 복사한 텍스트에서 값 추출하기, 숫자 앞을 0으로 채우기, Text 뒤집기, 클립보드의 단어 수 세기, 대/소문자를 구분하지 않는 비교, Text 순서는 서수 비교입니다, 오늘 날짜와 타임스탬프가 붙은 파일 이름, 명명된 상수와 숫자 그대로 쓰기, 표시되는 최상위 창 나열하기, 한 앱의 모든 창 최소화하기, 창의 자식 컨트롤 살펴보기, 프로세스에서 창으로, 커서 아래에 있는 것 설명하기, 트리거 컨텍스트가 아는 모든 정보, 획은 어느 방향으로 그려졌나요?, 획 단추에 따라 분기하기, 복사한 이미지를 파일로 저장하기, 파일을 읽고 줄 수 세기, 폴더의 파일 형식별 개수 세기, 폴더 감시하기, 횟수를 세는 반복 타이머, 타이머 나열 및 중지하기, 다시 시작해도 유지되는 카운터, Storage에 보관하는 목록, 한 번에 한 작업만 특정 구간 실행하기, 질문하기, 환경 변수 확장하기, AutoHotkey에 넘기기, 모니터 나열하기, 엔진 상태, 재사용 가능한 함수로서의 코드 조각, 플러그 인과 통신하기, 직렬 장치에 질문하기, COM 포트 나열하기, Arduino의 포트를 열어 두고 명령 보내기
UtilityWait
UtilityWait(milliseconds: Integer) → Bool · 간단히
창이나 클립보드가 따라올 시간을 주는 등의 목적으로 스크립트를 지정한 밀리초 동안 일시 중지합니다. 작업이 중지되면 대기가 일찍 끝납니다.
매개 변수
milliseconds: Integer— 기다릴 시간(밀리초)으로, 0에서 60000(1분) 사이입니다. 더 큰 값은 1분 동안 기다리고, 음수 값은 기다리지 않습니다.
반환 값
항상 true입니다.
예제 10개: while 루프: 시간 제한을 두고 창 기다리기, 마우스를 원 모양으로 움직이기, 템플릿을 채워 붙여 넣기, 어딘가를 클릭한 다음 커서를 되돌리기, 스크립트로 끌기, 5초 동안 커서를 창 안에 가두기, 미디어 키, 선택한 텍스트를 대문자로 바꾸기, 선택 영역으로 웹 검색하기, 실시간으로 업데이트되는 표시 메시지
Window
WindowCenterToScreen
WindowCenterToScreen(window: Window) → Bool · 간단히
창의 크기를 유지하면서, 창이 있는 모니터의 작업 영역(작업 표시줄을 제외한 화면) 가운데로 창을 이동합니다.
매개 변수
window: Window— 가운데로 이동할 창입니다.
반환 값
창이 이동한 경우 true이고, 창이 null이거나 닫혔거나 이동을 거부한 경우 false입니다.
예제 2개: while 루프: 시간 제한을 두고 창 기다리기, 창 위치를 기억하고 복원하기
WindowClipToScreen
WindowClipToScreen(window: Window) → Bool
창이 있는 모니터의 작업 영역(작업 표시줄을 제외한 화면) 밖으로 가장자리가 나가지 않을 만큼만 창을 줄이고 이동합니다. 작업 영역 밖에 완전히 있는 창은 먼저 현재 크기 그대로 작업 영역 안으로 이동합니다.
매개 변수
window: Window— 작업 영역에 맞출 창입니다.
반환 값
창을 배치한 경우(이미 작업 영역 안에 있던 경우 포함) true이고, 창이 null이거나 닫혔거나 변경을 거부한 경우 false입니다.
WindowClose
WindowClose(window: Window) → Bool · 간단히
사용자가 닫기 단추를 클릭한 것처럼 창에 닫기를 요청합니다. 프로그램이 변경 내용을 저장할지 묻거나 거부할 수 있으므로, 창이 없어질 때까지 기다리려면 WindowWaitClose를 사용하십시오.
매개 변수
window: Window— 닫을 창입니다.
반환 값
닫기 요청을 보낸 경우 true이며, 이는 창이 닫혔다는 뜻은 아닙니다. 창이 null이거나 닫혔거나, 관리자 권한처럼 더 높은 권한으로 실행 중인 프로그램의 창이면 false입니다.
예제 3개: 확인 후 제목 패턴으로 창 닫기, 획 단추에 따라 분기하기, Ctrl을 누르고 있는 동안 동작 바꾸기
WindowContainsTitle
WindowContainsTitle(window: Window, text: Text) → Bool
창 제목에 특정 텍스트가 포함되어 있는지 대/소문자를 무시하고 확인합니다.
매개 변수
window: Window— 제목을 확인할 창입니다.text: Text— 제목의 어느 위치에서든 찾을 텍스트입니다. 대/소문자는 무시됩니다.
반환 값
제목에 text가 포함되어 있으면 true이며, text가 비어 있으면 항상 true입니다. null 창이나 닫힌 창을 포함하여 그 밖의 경우에는 false입니다.
WindowControlFromPoint
WindowControlFromPoint(x: Integer, y: Integer) → Window
화면의 한 점에 있는 가장 안쪽 창(예: 프로그램 창 안의 단추, 텍스트 상자 또는 기타 컨트롤)을 반환합니다. 숨겨진 창과 사용할 수 없는 창은 건너뜁니다.
매개 변수
x: Integer— 가로 화면 위치(가상 화면 픽셀)입니다.y: Integer— 세로 화면 위치(가상 화면 픽셀)입니다.
반환 값
점 아래에 있는 컨트롤 또는 창입니다. 없으면 null 창입니다.
예제 1개: 커서 아래에 있는 것 설명하기
WindowEnsureVisible
WindowEnsureVisible(window: Window) → Bool
창 크기를 바꾸지 않고, 창이 있는 모니터의 작업 영역 안으로 창 전체가 들어오도록 밉니다. 작업 영역보다 큰 창은 작업 영역의 왼쪽 위 모서리에 맞춰집니다.
매개 변수
window: Window— 화면 안으로 완전히 가져올 창입니다.
반환 값
창을 배치한 경우(이미 완전히 보이던 경우 포함) true이고, 창이 null이거나 닫혔거나 이동을 거부한 경우 false입니다.
WindowFindAllByModuleRegex
WindowFindAllByModuleRegex(pattern: Text) → Integer
숨겨진 창을 포함하여 프로그램 파일 경로가 정규식과 일치하는 모든 최상위 창을 찾고, WindowGetEnumeratedAt에서 사용할 수 있도록 목록을 보관합니다. 이전 창 목록은 바뀝니다.
매개 변수
pattern: Text— 각 창을 소유한 프로그램의 전체 경로와 대/소문자를 무시하고 비교하는 정규식입니다(예: 'notepad[.]exe$').
반환 값
일치하는 창 수입니다. 일치하는 창이 없으면 0입니다. 잘못된 패턴이면 작업이 오류로 중지됩니다.
예제 1개: 한 앱의 모든 창 최소화하기
WindowFindAllByTitleRegex
WindowFindAllByTitleRegex(pattern: Text) → Integer
숨겨진 창을 포함하여 제목이 정규식과 일치하는 모든 최상위 창을 찾고, WindowGetEnumeratedAt에서 사용할 수 있도록 목록을 보관합니다. 이전 창 목록은 바뀝니다.
매개 변수
pattern: Text— 각 창의 제목과 대/소문자를 무시하고 비교하는 정규식입니다. ^나 $로 고정하지 않으면 제목의 어느 위치에서든 일치합니다.
반환 값
일치하는 창 수입니다. 일치하는 창이 없으면 0입니다. 잘못된 패턴이면 작업이 오류로 중지됩니다.
예제 1개: 확인 후 제목 패턴으로 창 닫기
WindowFindByClassName
WindowFindByClassName(className: Text) → Window
클래스 이름에 지정한 텍스트가 포함된, 보이는 최상위 창 중 가장 앞에 있는 창을 대/소문자를 무시하고 찾습니다.
매개 변수
className: Text— 클래스 이름에서 찾을 텍스트입니다(예: 'Notepad'). 이름의 일부만 일치해도 되며, 빈 텍스트는 가장 앞에 있는 보이는 창과 일치합니다.
반환 값
찾은 창입니다. 일치하는 보이는 최상위 창이 없으면 null 창입니다.
WindowFindByTitle
WindowFindByTitle(title: Text) → Window
제목에 지정한 텍스트가 포함된, 보이는 최상위 창 중 가장 앞에 있는 창을 대/소문자를 무시하고 찾습니다.
매개 변수
title: Text— 제목의 어느 위치에서든 찾을 텍스트입니다. 대/소문자는 무시되며, 빈 텍스트는 가장 앞에 있는 보이는 창과 일치합니다.
반환 값
찾은 창입니다. 일치하는 보이는 최상위 창이 없으면 null 창입니다.
예제 4개: 모든 형식의 참/거짓 판정, while 루프: 시간 제한을 두고 창 기다리기, 형식이 다른 값의 같음 비교, 창 안의 한 점 클릭하기
WindowFitToScreen
WindowFitToScreen(window: Window) → Bool · 간단히
창을 최대화하지 않고, 창의 보이는 가장자리가 창이 있는 모니터의 작업 영역(작업 표시줄을 제외한 화면)을 채우도록 크기를 조정하고 이동합니다.
매개 변수
window: Window— 작업 영역에 맞출 창입니다.
반환 값
창 크기를 조정한 경우 true이고, 창이 null이거나 닫혔거나 변경을 거부한 경우 false입니다.
WindowFromPoint
WindowFromPoint(x: Integer, y: Integer) → Window
화면의 한 점에 있는 최상위 창을 반환합니다. 예를 들어 마우스 아래 컨트롤이 아니라 그 컨트롤이 있는 프로그램 창입니다.
매개 변수
x: Integer— 가로 화면 위치(가상 화면 픽셀)입니다.y: Integer— 세로 화면 위치(가상 화면 픽셀)입니다.
반환 값
점 아래에 있는 최상위 창입니다. 없으면 null 창입니다.
WindowFromProcessId
WindowFromProcessId(processId: Integer) → Window
실행 중인 프로그램의 기본 창, 즉 해당 프로세스가 소유한 보이는 최상위 창 중 가장 앞에 있는 창을 반환합니다.
매개 변수
processId: Integer— WindowGetProcessId나 ShellGetEnumeratedProcessIdAt이 반환한 프로세스 ID입니다.
반환 값
창입니다. 프로세스에 보이는 최상위 창이 없거나 processId가 0이면 null 창입니다.
예제 1개: 프로세스에서 창으로
WindowGetActive
WindowGetActive() → Window
전경 창, 즉 사용자가 현재 작업 중인 최상위 창을 반환합니다.
매개 변수
매개 변수가 없습니다.
반환 값
활성 창입니다. 포커스가 바뀌는 중인 경우처럼 그 순간 활성 창이 없으면 null 창입니다.
예제 4개: 다섯 가지 값 형식, 값 두 개보다 많이 서식 지정하기, 대/소문자를 구분하지 않는 비교, 활성 창을 모니터의 왼쪽 절반에 맞추기
WindowGetAllChildren
WindowGetAllChildren(window: Window, directOnly: Bool) → Integer
창 안의 자식 창(컨트롤) 목록을 만들고 WindowGetEnumeratedAt에서 사용할 수 있도록 보관합니다. 이전 창 목록은 바뀝니다.
매개 변수
window: Window— 자식 창 목록을 만들 창입니다.directOnly: Bool— 창의 직접 자식만 나열하려면 true, 모든 깊이의 하위 항목을 나열하려면 false입니다.
반환 값
찾은 자식 창 수입니다. 없거나 창이 null이면 0입니다.
예제 1개: 창의 자식 컨트롤 살펴보기
WindowGetAllProps
WindowGetAllProps(window: Window) → Integer
이 엔진, 프로그램 자체 또는 다른 소프트웨어가 창에 저장한 모든 속성의 목록을 만들고, WindowGetEnumeratedPropNameAt 및 WindowGetEnumeratedPropValueAt에서 사용할 수 있도록 보관합니다.
매개 변수
window: Window— 속성 목록을 만들 창입니다.
반환 값
찾은 속성 수입니다. 없거나 창이 null이면 0입니다.
WindowGetAllTopLevel
WindowGetAllTopLevel() → Integer
숨겨진 창과 클로킹된 창을 포함하여 바탕 화면의 모든 최상위 창을 앞에서 뒤 순서로 나열하고, WindowGetEnumeratedAt에서 사용할 수 있도록 목록을 보관합니다. 이전 창 목록은 바뀝니다.
매개 변수
매개 변수가 없습니다.
반환 값
찾은 최상위 창 수입니다.
예제 1개: 표시되는 최상위 창 나열하기
WindowGetAlpha
WindowGetAlpha(window: Window) → Integer
WindowSetAlpha나 프로그램 자체가 설정한 창의 투명도 수준을 반환합니다.
매개 변수
window: Window— 읽을 창입니다.
반환 값
0(완전 투명)에서 255(완전 불투명) 사이의 값입니다. 투명도가 설정되지 않은 창과 null 창 또는 닫힌 창은 255입니다.
예제 1개: 창 투명도 순환하기
WindowGetClassName
WindowGetClassName(window: Window) → Text
창의 클래스 이름, 즉 Windows가 창에 사용하는 형식 이름(예: 'Notepad' 또는 'Button')을 반환합니다. 제목이 바뀌는 창을 식별할 때 유용합니다.
매개 변수
window: Window— 읽을 창입니다.
반환 값
클래스 이름입니다. 창이 null이거나 닫혔으면 빈 텍스트입니다.
예제 2개: 창의 자식 컨트롤 살펴보기, 커서 아래에 있는 것 설명하기
WindowGetControlText
WindowGetControlText(window: Window) → Text
텍스트 상자, 상태 표시줄 또는 대화 상자 메시지처럼 모든 프로그램에 있는 컨트롤의 텍스트를 읽습니다. 기존 Windows 컨트롤에서만 작동합니다. 프로그램이 응답하지 않으면 최대 2초 동안 스크립트를 차단합니다.
매개 변수
window: Window— 읽을 컨트롤 또는 창입니다(예: WindowControlFromPoint 또는 WindowGetEnumeratedAt에서 얻은 창).
반환 값
컨트롤의 텍스트(최대 약 100만 자)입니다. 텍스트가 없거나, 창이 null이거나 닫혔거나, 프로그램이 응답하지 않으면 빈 텍스트입니다. 다른 프로그램의 암호 상자는 빈 텍스트를 반환합니다.
WindowGetDpi
WindowGetDpi(window: Window) → Integer
창이 있는 모니터의 DPI를 반환합니다. 디스플레이 배율이 100퍼센트이면 96, 150퍼센트이면 144입니다.
매개 변수
window: Window— 확인할 창입니다.
반환 값
DPI입니다. 창이 null이거나 닫혔으면 0입니다.
WindowGetEnabled
WindowGetEnabled(window: Window) → Bool
창이 마우스 및 키보드 입력을 받는지 확인합니다. 사용할 수 없는 창이나 컨트롤은 보통 흐리게 표시됩니다.
매개 변수
window: Window— 확인할 창입니다.
반환 값
창을 사용할 수 있으면 true이고, 사용할 수 없거나 null이거나 닫혔으면 false입니다.
WindowGetEnumeratedAt
WindowGetEnumeratedAt(index: Integer) → Window
가장 최근의 WindowGetAllTopLevel, WindowGetAllChildren, WindowFindAllByTitleRegex 또는 WindowFindAllByModuleRegex 호출로 만든 목록에서 창 하나를 반환합니다.
매개 변수
index: Integer— 목록에서의 위치로, 0에서 목록을 만든 호출이 반환한 개수 빼기 1까지입니다.
반환 값
해당 위치의 창입니다. index가 범위를 벗어나면 null 창입니다.
예제 4개: 표시되는 최상위 창 나열하기, 한 앱의 모든 창 최소화하기, 확인 후 제목 패턴으로 창 닫기, 창의 자식 컨트롤 살펴보기
WindowGetEnumeratedPropNameAt
WindowGetEnumeratedPropNameAt(index: Integer) → Text
가장 최근의 WindowGetAllProps 호출로 만든 목록에서 속성 하나의 이름을 반환합니다.
매개 변수
index: Integer— 목록에서의 위치로, 0에서 WindowGetAllProps가 반환한 개수 빼기 1까지입니다.
반환 값
속성 이름입니다. index가 범위를 벗어나면 빈 텍스트입니다.
WindowGetEnumeratedPropValueAt
WindowGetEnumeratedPropValueAt(index: Integer) → Integer
가장 최근의 WindowGetAllProps 호출로 만든 목록에서 속성 하나의 원시 정수 값을 반환합니다. WindowSetPropertyText로 설정한 속성은 여기서 텍스트가 아니라 내부 번호로 표시됩니다.
매개 변수
index: Integer— 목록에서의 위치로, 0에서 WindowGetAllProps가 반환한 개수 빼기 1까지입니다.
반환 값
속성 값입니다. index가 범위를 벗어나면 0입니다.
WindowGetExecutableFolder
WindowGetExecutableFolder(window: Window) → Text
창을 소유한 프로그램이 들어 있는 폴더를 파일 이름과 끝 구분 기호 없이 반환합니다. 파일 이름은 WindowGetExecutableName을, 둘 다는 WindowGetExecutableFullPath를 사용하십시오.
매개 변수
window: Window— 프로그램 위치를 찾을 창입니다.
반환 값
폴더 경로입니다. 창이 null이거나 닫혔거나 프로그램을 조회할 수 없으면 빈 텍스트입니다.
WindowGetExecutableFullPath
WindowGetExecutableFullPath(window: Window) → Text
창을 소유한 프로그램의 전체 경로를 폴더와 파일 이름을 합쳐 반환합니다(예: Windows 폴더에 있는 notepad.exe의 경로). 한 부분만 필요하면 WindowGetExecutableFolder 또는 WindowGetExecutableName을 사용하십시오.
매개 변수
window: Window— 프로그램 위치를 찾을 창입니다.
반환 값
전체 경로입니다. 창이 null이거나 닫혔거나 프로그램을 조회할 수 없으면 빈 텍스트입니다.
WindowGetExecutableName
WindowGetExecutableName(window: Window) → Text
창을 소유한 프로그램의 파일 이름(예: 'notepad.exe')을 반환합니다.
매개 변수
window: Window— 프로그램을 확인할 창입니다.
반환 값
프로그램의 파일 이름입니다. 창이 null이거나 닫혔거나 프로그램을 조회할 수 없으면 빈 텍스트입니다.
예제 2개: 대/소문자를 구분하지 않는 비교, 표시되는 최상위 창 나열하기
WindowGetHeight
WindowGetHeight(window: Window) → Integer
Windows가 대부분의 창 주위에 추가하는 보이지 않는 크기 조정 테두리를 제외한, 창의 보이는 높이를 반환합니다.
매개 변수
window: Window— 크기를 잴 창입니다.
반환 값
높이(픽셀)입니다. 창이 null이거나 닫혔으면 0입니다.
예제 3개: 값 두 개보다 많이 서식 지정하기, 활성 창을 모니터의 왼쪽 절반에 맞추기, 5초 동안 커서를 창 안에 가두기
WindowGetLastFocus
WindowGetLastFocus() → Window
바탕 화면 전체에서 가장 최근에 키보드 포커스를 받은 창이나 컨트롤을 반환합니다. 최상위 창보다는 텍스트 상자 같은 컨트롤인 경우가 많습니다.
매개 변수
매개 변수가 없습니다.
반환 값
마지막으로 포커스를 받은 창 또는 컨트롤입니다. 엔진이 시작된 후 포커스가 바뀌지 않았으면 null 창입니다.
WindowGetMovableAncestor
WindowGetMovableAncestor(window: Window) → Window
끌 수 있는 가장 가까운 창, 즉 창 자체 또는 시스템 메뉴가 있는 첫 번째 상위 창을 반환합니다. 마우스 아래 컨트롤로부터 이동할 창을 얻을 수 있습니다.
매개 변수
window: Window— 시작할 창 또는 컨트롤입니다.
반환 값
창 자체 또는 시스템 메뉴가 있는 첫 번째 상위 창입니다. 시스템 메뉴가 있는 창이 없거나 창이 null이면 null 창입니다.
WindowGetParent
WindowGetParent(window: Window) → Window
컨트롤을 포함하는 창을 반환합니다. 대화 상자 같은 팝업 창의 경우 그 창을 소유한 창일 수 있습니다.
매개 변수
window: Window— 부모를 가져올 창 또는 컨트롤입니다.
반환 값
부모 창 또는 소유자 창입니다. 없거나 창이 null이거나 닫혔으면 null 창입니다.
WindowGetProcessId
WindowGetProcessId(window: Window) → Integer
창을 소유한 프로세스(실행 중인 프로그램)의 ID를 반환합니다. 작업 관리자에 표시되는 것과 같은 번호입니다.
매개 변수
window: Window— 프로세스를 확인할 창입니다.
반환 값
프로세스 ID입니다. 창이 null이거나 닫혔으면 0입니다.
WindowGetPropertyInteger
WindowGetPropertyInteger(window: Window, name: Text) → Integer
창에 저장된 이름 있는 정수를 읽습니다. 예를 들어 해당 창에 대한 정보를 기억하기 위해 앞서 WindowSetPropertyInteger로 저장한 값입니다.
매개 변수
window: Window— 읽을 창입니다.name: Text— 속성 이름입니다.
반환 값
저장된 값입니다. 속성이 없거나 창이 null이면 0입니다. 저장된 0과 없는 속성은 구별되지 않습니다.
예제 2개: 창을 맨 위에 고정하기, 창 위치를 기억하고 복원하기
WindowGetPropertyText
WindowGetPropertyText(window: Window, name: Text) → Text
이 엔진이 WindowSetPropertyText로 창에 저장한 이름 있는 텍스트 값을 읽습니다.
매개 변수
window: Window— 읽을 창입니다.name: Text— 속성 이름입니다.
반환 값
저장된 텍스트입니다. 속성이 없거나, 이 엔진이 텍스트로 저장하지 않았거나, 그 후 덮어쓰였거나, 창이 null이면 빈 텍스트입니다.
WindowGetRoot
WindowGetRoot(window: Window) → Window
창이나 컨트롤을 포함하는 최상위 창(예: 단추를 둘러싼 프로그램 창)을 반환합니다.
매개 변수
window: Window— 시작할 창 또는 컨트롤입니다.
반환 값
최상위 창이며, 창이 이미 최상위 창이면 창 자체입니다. 창이 null이거나 닫혔으면 null 창입니다.
예제 1개: 커서 아래에 있는 것 설명하기
WindowGetTitle
WindowGetTitle(window: Window) → Text
창의 제목 표시줄에 있는 텍스트를 반환합니다. 다른 프로그램의 컨트롤은 보통 비어 있으므로 WindowGetControlText를 사용하십시오.
매개 변수
window: Window— 읽을 창입니다.
반환 값
제목입니다. 창에 제목이 없거나 창이 null이거나 닫혔으면 빈 텍스트입니다.
예제 9개: 대/소문자를 구분하지 않는 비교, 제스처 하나, 여러 선택지, 창을 맨 위에 고정하기, 표시되는 최상위 창 나열하기, 창의 자식 컨트롤 살펴보기, 프로세스에서 창으로, 커서 아래에 있는 것 설명하기, 트리거 컨텍스트가 아는 모든 정보, Storage에 보관하는 목록
WindowGetVisible
WindowGetVisible(window: Window) → Bool
창이 표시되도록 설정되어 있는지 확인합니다. 보이는 창이라도 최소화되었거나, 다른 창에 가려졌거나, 화면 밖에 있거나, 다른 가상 데스크톱에 있을 수 있습니다.
매개 변수
window: Window— 확인할 창입니다.
반환 값
창과 모든 부모 창이 표시되어 있으면 true이고, 숨겨져 있거나 null이거나 닫혔으면 false입니다.
예제 1개: 표시되는 최상위 창 나열하기
WindowGetWidth
WindowGetWidth(window: Window) → Integer
Windows가 대부분의 창 주위에 추가하는 보이지 않는 크기 조정 테두리를 제외한, 창의 보이는 너비를 반환합니다.
매개 변수
window: Window— 크기를 잴 창입니다.
반환 값
너비(픽셀)입니다. 창이 null이거나 닫혔으면 0입니다.
예제 3개: 값 두 개보다 많이 서식 지정하기, 활성 창을 모니터의 왼쪽 절반에 맞추기, 5초 동안 커서를 창 안에 가두기
WindowGetX
WindowGetX(window: Window) → Integer
보이지 않는 크기 조정 테두리를 제외한, 창의 보이는 왼쪽 가장자리의 화면 위치를 반환합니다. 최소화된 창은 화면 밖의 대기 위치입니다.
매개 변수
window: Window— 위치를 찾을 창입니다.
반환 값
왼쪽 가장자리(가상 화면 픽셀)입니다. 창이 null이거나 닫혔으면 0입니다.
예제 4개: 값 두 개보다 많이 서식 지정하기, 활성 창을 모니터의 왼쪽 절반에 맞추기, 창 위치를 기억하고 복원하기, 5초 동안 커서를 창 안에 가두기
WindowGetY
WindowGetY(window: Window) → Integer
보이지 않는 크기 조정 테두리를 제외한, 창의 보이는 위쪽 가장자리의 화면 위치를 반환합니다. 최소화된 창은 화면 밖의 대기 위치입니다.
매개 변수
window: Window— 위치를 찾을 창입니다.
반환 값
위쪽 가장자리(가상 화면 픽셀)입니다. 창이 null이거나 닫혔으면 0입니다.
예제 4개: 값 두 개보다 많이 서식 지정하기, 활성 창을 모니터의 왼쪽 절반에 맞추기, 창 위치를 기억하고 복원하기, 5초 동안 커서를 창 안에 가두기
WindowHide
WindowHide(window: Window) → Bool
작업 표시줄 단추를 포함하여 창을 완전히 숨깁니다. 엔진이 종료될 때 다시 표시되며, 트레이 메뉴의 [숨긴 창 표시]로 언제든지 다시 표시할 수 있습니다.
매개 변수
window: Window— 숨길 창입니다.
반환 값
창을 숨겼거나 이미 숨겨져 있었으면 true이고, 창이 null이거나 닫혔거나, 바탕 화면, 작업 표시줄 또는 이 엔진 자체의 창이거나, 이미 256개의 숨긴 창을 추적 중이면 false입니다.
WindowIsCloaked
WindowIsCloaked(window: Window) → Bool
다른 가상 데스크톱에 있는 창이나 일시 중단된 Store 앱처럼, 표시된 것으로 간주되지만 Windows가 보이지 않게 유지하는 창인지 확인합니다. 목록에서 이런 창을 건너뛸 때 유용합니다.
매개 변수
window: Window— 확인할 창입니다.
반환 값
창이 클로킹되어 있으면 true이고, 그렇지 않거나 창이 null이거나 닫혔으면 false입니다.
예제 1개: 표시되는 최상위 창 나열하기
WindowIsMaximized
WindowIsMaximized(window: Window) → Bool
창이 최대화되어 있는지 확인합니다. 예를 들어 WindowRestore와 WindowMaximize 중 무엇을 호출할지 결정하기 전에 사용합니다.
매개 변수
window: Window— 확인할 창입니다.
반환 값
창이 최대화되어 있으면 true이고, 그렇지 않거나 창이 null이거나 닫혔으면 false입니다.
예제 1개: 제스처의 창 최대화 전환
WindowIsMinimized
WindowIsMinimized(window: Window) → Bool
창이 작업 표시줄로 최소화되어 있는지 확인합니다. 예를 들어 WindowRestore를 호출할지 결정하기 전에 사용합니다.
매개 변수
window: Window— 확인할 창입니다.
반환 값
창이 최소화되어 있으면 true이고, 그렇지 않거나 창이 null이거나 닫혔으면 false입니다.
WindowMapClientPointToScreenX
WindowMapClientPointToScreenX(window: Window, x: Integer, y: Integer) → Integer
창의 클라이언트 영역(제목 표시줄 아래, 테두리 안쪽의 창 내부)에 있는 점을 화면 위치로 변환하고 가로 성분을 반환합니다.
매개 변수
window: Window— 점이 있는 클라이언트 영역의 창입니다.x: Integer— 클라이언트 영역 왼쪽 가장자리로부터의 가로 위치(픽셀)입니다.y: Integer— 클라이언트 영역 위쪽 가장자리로부터의 세로 위치(픽셀)입니다.
반환 값
화면 X 위치(가상 화면 픽셀)입니다. 창이 null이거나 닫혔으면 0입니다.
WindowMapClientPointToScreenY
WindowMapClientPointToScreenY(window: Window, x: Integer, y: Integer) → Integer
창의 클라이언트 영역(제목 표시줄 아래, 테두리 안쪽의 창 내부)에 있는 점을 화면 위치로 변환하고 세로 성분을 반환합니다.
매개 변수
window: Window— 점이 있는 클라이언트 영역의 창입니다.x: Integer— 클라이언트 영역 왼쪽 가장자리로부터의 가로 위치(픽셀)입니다.y: Integer— 클라이언트 영역 위쪽 가장자리로부터의 세로 위치(픽셀)입니다.
반환 값
화면 Y 위치(가상 화면 픽셀)입니다. 창이 null이거나 닫혔으면 0입니다.
WindowMapScreenPointToClientX
WindowMapScreenPointToClientX(window: Window, x: Integer, y: Integer) → Integer
화면 위치를 창의 클라이언트 영역(제목 표시줄 아래, 테두리 안쪽의 창 내부) 기준의 점으로 변환하고 가로 성분을 반환합니다.
매개 변수
window: Window— 기준이 되는 클라이언트 영역의 창입니다.x: Integer— 가로 화면 위치(가상 화면 픽셀)입니다.y: Integer— 세로 화면 위치(가상 화면 픽셀)입니다.
반환 값
클라이언트 영역 왼쪽 가장자리로부터의 X 위치(픽셀)이며, 점이 그보다 왼쪽에 있으면 음수입니다. 창이 null이거나 닫혔으면 0입니다.
예제 1개: 커서 아래에 있는 것 설명하기
WindowMapScreenPointToClientY
WindowMapScreenPointToClientY(window: Window, x: Integer, y: Integer) → Integer
화면 위치를 창의 클라이언트 영역(제목 표시줄 아래, 테두리 안쪽의 창 내부) 기준의 점으로 변환하고 세로 성분을 반환합니다.
매개 변수
window: Window— 기준이 되는 클라이언트 영역의 창입니다.x: Integer— 가로 화면 위치(가상 화면 픽셀)입니다.y: Integer— 세로 화면 위치(가상 화면 픽셀)입니다.
반환 값
클라이언트 영역 위쪽 가장자리로부터의 Y 위치(픽셀)이며, 점이 그보다 위에 있으면 음수입니다. 창이 null이거나 닫혔으면 0입니다.
예제 1개: 커서 아래에 있는 것 설명하기
WindowMaximize
WindowMaximize(window: Window) → Bool · 간단히
창이 있는 모니터를 채우도록 창을 최대화하고 활성화합니다. WindowHide로 숨긴 창은 표시되며 더 이상 숨긴 창으로 추적되지 않습니다.
매개 변수
window: Window— 최대화할 창입니다.
반환 값
호출 후 창이 최대화되어 있으면 true이고, 창이 null이거나 닫혔거나 최대화되지 않았으면 false입니다.
예제 2개: 제스처 하나, 여러 선택지, 제스처의 창 최대화 전환
WindowMinimize
WindowMinimize(window: Window) → Bool · 간단히
창을 작업 표시줄로 최소화합니다. 그러면 Windows가 다음 창을 활성화합니다. WindowHide로 숨긴 창은 최소화된 상태로 표시되며 더 이상 숨긴 창으로 추적되지 않습니다.
매개 변수
window: Window— 최소화할 창입니다.
반환 값
호출 후 창이 최소화되어 있으면 true이고, 창이 null이거나 닫혔거나 최소화되지 않았으면 false입니다.
예제 4개: 제스처 하나, 여러 선택지, 한 앱의 모든 창 최소화하기, 획 단추에 따라 분기하기, Ctrl을 누르고 있는 동안 동작 바꾸기
WindowMoveTo
WindowMoveTo(window: Window, x: Integer, y: Integer) → Bool
창의 크기를 유지하면서 보이는 왼쪽 위 모서리가 지정한 화면 위치에 오도록 창을 이동합니다. WindowGetX 및 WindowGetY와 같은 좌표를 사용하며, 최대화된 창을 먼저 복원하지 않습니다.
매개 변수
window: Window— 이동할 창입니다.x: Integer— 보이는 프레임의 새 왼쪽 가장자리(가상 화면 픽셀)입니다.y: Integer— 보이는 프레임의 새 위쪽 가장자리(가상 화면 픽셀)입니다.
반환 값
창이 이동한 경우 true이고, 창이 null이거나 닫혔거나 이동을 거부한 경우 false입니다.
예제 3개: 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기, 창 위치를 기억하고 복원하기
WindowRemoveProp
WindowRemoveProp(window: Window, name: Text) → Integer
WindowSetPropertyInteger, WindowSetPropertyText 또는 다른 소프트웨어가 저장한 이름 있는 속성을 창에서 제거합니다.
매개 변수
window: Window— 속성을 제거할 창입니다.name: Text— 속성 이름입니다.
반환 값
제거한 속성의 원시 값입니다. 속성이 없었거나 창이 null이면 0입니다. 텍스트 속성의 경우 텍스트가 아니라 내부 번호입니다.
예제 2개: 창을 맨 위에 고정하기, 창 위치를 기억하고 복원하기
WindowResizeTo
WindowResizeTo(window: Window, width: Integer, height: Integer) → Bool
왼쪽 위 모서리를 그대로 두고 창의 보이는 프레임 크기를 조정합니다. WindowGetWidth 및 WindowGetHeight와 같은 크기를 사용하며, 최대화된 창을 먼저 복원하지 않습니다.
매개 변수
window: Window— 크기를 조정할 창입니다.width: Integer— 새로 보이는 너비(픽셀)입니다.height: Integer— 새로 보이는 높이(픽셀)입니다.
반환 값
창 크기를 조정한 경우 true이고, 창이 null이거나 닫혔거나 변경을 거부한 경우 false입니다.
예제 2개: 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기
WindowRestore
WindowRestore(window: Window) → Bool · 간단히
최소화되거나 최대화된 창을 보통 크기와 위치로 되돌리고 활성화합니다. WindowHide로 숨긴 창은 표시되며 더 이상 숨긴 창으로 추적되지 않습니다.
매개 변수
window: Window— 복원할 창입니다.
반환 값
호출 후 창이 최소화도 최대화도 아닌 보통 크기이면 true이고, 창이 null이거나 닫혔거나 그 상태가 되지 않았으면 false입니다. 최소화되기 전에 최대화되어 있던 창은 최대화 상태로 돌아가며, 이 경우 false입니다.
예제 3개: 제스처의 창 최대화 전환, 활성 창을 모니터의 왼쪽 절반에 맞추기, 커서 아래의 3×2 격자 셀에 창 맞추기
WindowSendToBottom
WindowSendToBottom(window: Window) → Bool · 간단히
창을 활성화하지 않고 다른 모든 창의 뒤로 보냅니다. 항상 위에 있던 창은 그 설정이 해제됩니다.
매개 변수
window: Window— 맨 뒤로 보낼 창입니다.
반환 값
창을 맨 뒤로 보낸 경우 true이고, 창이 null이거나 닫혔거나 변경을 거부한 경우 false입니다.
WindowSendToMonitorAt
WindowSendToMonitorAt(window: Window, x: Integer, y: Integer, mouseFollows: Bool) → Bool
창의 크기와 작업 영역 기준 상대 위치를 유지하면서, 화면의 한 점이 포함된 모니터로 창을 이동합니다. 최대화된 창은 새 모니터에서도 최대화되며, 이로 인해 창이 활성화되면 Windows가 허용하는 경우 이전에 활성 상태였던 창이 포커스를 되찾습니다.
매개 변수
window: Window— 이동할 창입니다.x: Integer— 대상 모니터에 있는 임의의 점의 가로 위치(가상 화면 픽셀)입니다. 어느 모니터에도 없는 점은 가장 가까운 모니터를 선택합니다.y: Integer— 대상 모니터에 있는 임의의 점의 세로 위치(가상 화면 픽셀)입니다.mouseFollows: Bool— 창이 이동할 때 마우스 포인터를 새 모니터의 같은 상대 위치로 옮기려면 true, 그대로 두려면 false입니다.
반환 값
창이 이동한 경우 true이고, 창이 null이거나 닫혔거나 이동을 거부한 경우 false입니다.
WindowSendToMonitorIndex
WindowSendToMonitorIndex(window: Window, index: Integer, mouseFollows: Bool) → Bool
창의 크기와 상대 위치를 유지하면서, 가장 최근의 DisplayMonitorEnumeratedAll 호출로 만든 목록에서의 위치로 선택한 모니터로 창을 이동합니다. 최대화된 창은 최대화 상태를 유지하며, 다시 최대화할 때 창이 활성화되면 Windows가 허용하는 경우 이전에 활성 상태였던 창이 포커스를 되찾습니다.
매개 변수
window: Window— 이동할 창입니다.index: Integer— 모니터 목록에서의 위치로, 0부터 시작합니다. 모니터는 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 정렬됩니다.mouseFollows: Bool— 창이 이동할 때 마우스 포인터를 새 모니터의 같은 상대 위치로 옮기려면 true, 그대로 두려면 false입니다.
반환 값
창이 이동한 경우 true이고, 창이 null이거나 닫혔거나, index가 범위를 벗어났거나 이 스크립트에서 DisplayMonitorEnumeratedAll을 실행하지 않았거나, 창이 이동을 거부한 경우 false입니다.
예제 1개: 창을 특정 모니터로 보내기
WindowSendToMonitorName
WindowSendToMonitorName(window: Window, name: Text, mouseFollows: Bool) → Bool
창의 크기와 상대 위치를 유지하면서, 지정한 장치 경로나 표시 이름을 가진 모니터로 창을 이동합니다. 최대화된 창은 최대화 상태를 유지하며, 다시 최대화할 때 창이 활성화되면 Windows가 허용하는 경우 이전에 활성 상태였던 창이 포커스를 되찾습니다. 도킹과 도킹 해제 후에도 유지되는 레이아웃에 유용합니다.
매개 변수
window: Window— 이동할 창입니다.name: Text— DisplayMonitorGetDevicePathFromPoint나 DisplayMonitorGetFriendlyNameFromPoint가 반환한 모니터의 장치 경로 또는 표시 이름입니다. 장치 경로가 신뢰할 수 있는 방법입니다. 대/소문자는 무시됩니다.mouseFollows: Bool— 창이 이동할 때 마우스 포인터를 새 모니터의 같은 상대 위치로 옮기려면 true, 그대로 두려면 false입니다.
반환 값
창이 이동한 경우 true이고, 해당 이름의 연결된 모니터가 없거나, 창이 null이거나 닫혔거나, 창이 이동을 거부한 경우 false입니다.
WindowSendToNextScreen
WindowSendToNextScreen(window: Window, mouseFollows: Bool) → Bool · 간단히
창의 크기와 상대 위치를 유지하면서 다음 모니터로 창을 이동합니다. 왼쪽에서 오른쪽, 그다음 위에서 아래 순서로 이동하며 마지막 모니터에서 첫 번째 모니터로 돌아갑니다. 최대화된 창은 최대화 상태를 유지하며, 다시 최대화할 때 창이 활성화되면 Windows가 허용하는 경우 이전에 활성 상태였던 창이 포커스를 되찾습니다.
매개 변수
window: Window— 이동할 창입니다.mouseFollows: Bool— 창이 이동할 때 마우스 포인터를 새 모니터의 같은 상대 위치로 옮기려면 true, 그대로 두려면 false입니다.
반환 값
창이 이동한 경우(모니터가 하나뿐인 경우 포함) true이고, 창이 null이거나 닫혔거나 이동을 거부한 경우 false입니다.
예제 2개: 창을 다음 모니터로 보내기, 창을 특정 모니터로 보내기
WindowSendToPreviousScreen
WindowSendToPreviousScreen(window: Window, mouseFollows: Bool) → Bool · 간단히
창의 크기와 상대 위치를 유지하면서 이전 모니터로 창을 이동합니다. 오른쪽에서 왼쪽, 그다음 아래에서 위 순서로 이동하며 첫 번째 모니터에서 마지막 모니터로 돌아갑니다. 최대화된 창은 최대화 상태를 유지하며, 다시 최대화할 때 창이 활성화되면 Windows가 허용하는 경우 이전에 활성 상태였던 창이 포커스를 되찾습니다.
매개 변수
window: Window— 이동할 창입니다.mouseFollows: Bool— 창이 이동할 때 마우스 포인터를 새 모니터의 같은 상대 위치로 옮기려면 true, 그대로 두려면 false입니다.
반환 값
창이 이동한 경우(모니터가 하나뿐인 경우 포함) true이고, 창이 null이거나 닫혔거나 이동을 거부한 경우 false입니다.
WindowSetActive
WindowSetActive(window: Window) → Bool
창을 맨 앞으로 가져와 키보드 포커스를 주며, 최소화되어 있으면 먼저 복원하고 숨겨져 있으면 표시합니다. WindowHide로 숨긴 창은 더 이상 숨긴 창으로 추적되지 않습니다. Windows가 거부하고 대신 작업 표시줄 단추를 깜박일 수 있습니다.
매개 변수
window: Window— 활성화할 창입니다.
반환 값
창이 전경 창이 된 경우 true이고, Windows가 거부했거나 창이 null이거나 닫혔으면 false입니다.
예제 2개: 프로그램을 실행하고 창을 기다린 다음 작업하기, 창 안의 한 점 클릭하기
WindowSetAlpha
WindowSetAlpha(window: Window, alpha: Integer) → Bool
창의 투명도를 완전 투명에서 완전 불투명 사이로 설정합니다. 255이면 창이 더 이상 계층 창이 아니게 되며, 이로 인해 프로그램이 직접 설정한 투명도도 제거됩니다. 관리자 권한으로 실행 중인 프로그램의 창은 엔진도 관리자 권한으로 실행 중이어야 변경할 수 있습니다.
매개 변수
window: Window— 변경할 창입니다.alpha: Integer— 0(완전 투명)에서 255(완전 불투명) 사이의 불투명도입니다. 이 범위를 벗어난 값은 범위 안으로 제한됩니다.
반환 값
투명도가 적용된 경우 true이고, 창이 null이거나 닫혔거나 변경이 거부된 경우 false입니다.
예제 1개: 창 투명도 순환하기
WindowSetBounds
WindowSetBounds(window: Window, x: Integer, y: Integer, width: Integer, height: Integer) → Bool
WindowGetX, WindowGetY, WindowGetWidth, WindowGetHeight와 같은 보이는 프레임 좌표를 사용하여 창을 한 번에 이동하고 크기를 조정합니다. WindowMoveTo 다음에 WindowResizeTo를 호출할 때 생기는 깜박임을 피할 수 있습니다.
매개 변수
window: Window— 이동하고 크기를 조정할 창입니다.x: Integer— 보이는 프레임의 새 왼쪽 가장자리(가상 화면 픽셀)입니다.y: Integer— 보이는 프레임의 새 위쪽 가장자리(가상 화면 픽셀)입니다.width: Integer— 새로 보이는 너비(픽셀)입니다.height: Integer— 새로 보이는 높이(픽셀)입니다.
반환 값
변경이 적용된 경우 true이고, 창이 null이거나 닫혔거나 변경을 거부한 경우 false입니다.
WindowSetEnabled
WindowSetEnabled(window: Window, enabled: Bool) → Bool
창이나 컨트롤을 사용하거나 사용하지 않도록 설정합니다. 사용하지 않도록 설정된 창은 다시 사용하도록 설정될 때까지 마우스 클릭과 키 누름을 무시합니다.
매개 변수
window: Window— 변경할 창 또는 컨트롤입니다.enabled: Bool— 창을 사용하도록 설정하려면 true, 사용하지 않도록 설정하려면 false입니다.
반환 값
요청이 이루어지면 true이고, 창이 null이거나 닫혔으면 false입니다.
WindowSetPropertyInteger
WindowSetPropertyInteger(window: Window, name: Text, value: Integer) → Bool
창에 이름 있는 정수를 저장합니다. 예를 들어 작업 사이에 해당 창에 대한 정보를 기억하는 데 사용합니다. 엔진은 종료될 때 자신이 저장한 속성을 제거합니다.
매개 변수
window: Window— 값을 저장할 창입니다.name: Text— 속성 이름입니다. 프로그램 자체가 사용하는 속성과 겹치지 않도록 고유한 이름을 선택하십시오.value: Integer— 저장할 정수입니다.
반환 값
값을 저장한 경우 true이고, 창이 null이거나 닫혔으면 false입니다.
예제 2개: 창을 맨 위에 고정하기, 창 위치를 기억하고 복원하기
WindowSetPropertyText
WindowSetPropertyText(window: Window, name: Text, value: Text) → Bool
창에 이름 있는 텍스트 값을 저장하며, WindowGetPropertyText로 다시 읽을 수 있습니다. 엔진은 텍스트를 대/소문자를 포함하여 지정한 그대로 보관하며, 빈 텍스트도 됩니다. 엔진은 종료될 때 자신이 저장한 속성을 제거합니다.
매개 변수
window: Window— 텍스트를 저장할 창입니다.name: Text— 속성 이름입니다. 프로그램 자체가 사용하는 속성과 겹치지 않도록 고유한 이름을 선택하십시오.value: Text— 저장할 텍스트로, 최대 1024자입니다.
반환 값
텍스트를 저장한 경우 true이고, 창이 null이거나 닫혔거나, 텍스트 값이 이미 512개 저장되어 있거나, 속성을 설정할 수 없으면 false입니다. 1024자를 넘는 텍스트이면 작업이 오류로 중지됩니다.
WindowSetTitle
WindowSetTitle(window: Window, title: Text) → Bool
창의 제목 표시줄에 있는 텍스트를 바꿉니다. 프로그램이 언제든지 다시 바꿀 수 있습니다. 1초 안에 응답하지 않는 프로그램은 바뀌지 않습니다.
매개 변수
window: Window— 이름을 바꿀 창입니다.title: Text— 새 제목 텍스트입니다.
반환 값
제목을 설정한 경우 true이고, 창이 null이거나 닫혔거나, 1초 안에 응답하지 않았거나, 프로그램이 거부한 경우 false입니다.
예제 1개: 제스처 하나, 여러 선택지
WindowSetTopmost
WindowSetTopmost(window: Window, topmost: Bool) → Bool · 간단히
창을 활성화하지 않고 모든 일반 창 위에 유지하거나 일반 쌓기 순서로 되돌립니다.
매개 변수
window: Window— 변경할 창입니다.topmost: Bool— 창을 항상 위에 유지하려면 true, 일반 쌓기 순서로 되돌리려면 false입니다.
반환 값
변경이 적용된 경우 true이고, 창이 null이거나 닫혔거나 더 높은 권한으로 실행 중인 프로그램의 창이면 false입니다.
예제 1개: 창을 맨 위에 고정하기
WindowShow
WindowShow(window: Window) → Bool
WindowHide로 숨긴 창 등 숨겨진 창을 현재 크기와 위치로 다시 표시합니다. 엔진은 더 이상 이 창을 숨긴 창으로 추적하지 않습니다.
매개 변수
window: Window— 표시할 창입니다.
반환 값
표시 요청이 이루어진 경우 true이고, 창이 null이거나 닫혔으면 false입니다.
WindowToggleTopmost
WindowToggleTopmost(window: Window) → Bool · 간단히
창을 활성화하지 않고 항상 위와 일반 쌓기 순서 사이에서 전환합니다.
매개 변수
window: Window— 변경할 창입니다.
반환 값
변경이 적용된 경우 true이고, 창이 null이거나 닫혔거나 변경을 거부한 경우 false입니다. 창이 현재 어느 상태인지는 알려 주지 않습니다.
WindowWaitClose
WindowWaitClose(window: Window, timeoutMs: Integer) → Bool
50밀리초마다 확인하면서 창이 닫힐 때까지 기다립니다. 최대 timeoutMs 동안 스크립트를 차단하며, 모든 작업을 중지하면 대기가 일찍 끝납니다.
매개 변수
window: Window— 기다릴 창입니다.timeoutMs: Integer— 기다릴 최대 시간(밀리초)으로, 0에서 60000 사이입니다. 더 큰 값은 60000으로 처리되며, 0이면 기다리지 않고 한 번만 확인합니다.
반환 값
창이 닫히면 true이며, 이미 닫혔거나 null이면 즉시 true입니다. 시간이 다 될 때까지 열려 있거나 대기가 중지되면 false입니다.
예제 1개: 프로그램을 실행하고 창을 기다린 다음 작업하기
WindowWaitFor
WindowWaitFor(pattern: Text, timeoutMs: Integer) → Window
50밀리초마다 확인하면서 제목이 정규식과 일치하는 보이는 최상위 창이 나타날 때까지 기다립니다. 최대 timeoutMs 동안 스크립트를 차단하며, 프로그램을 시작한 직후에 유용합니다.
매개 변수
pattern: Text— 창 제목과 대/소문자를 무시하고 비교하는 정규식입니다(예: 'Notepad$'). ^나 $로 고정하지 않으면 제목의 어느 위치에서든 일치합니다.timeoutMs: Integer— 기다릴 최대 시간(밀리초)으로, 0에서 60000 사이입니다. 더 큰 값은 60000으로 처리되며, 0이면 기다리지 않고 한 번만 확인합니다.
반환 값
일치하는 창 중 가장 앞에 있는 창입니다. 제시간에 나타나지 않았거나 대기가 중지되면 null 창입니다. 잘못된 패턴이면 작업이 오류로 중지됩니다.
예제 1개: 프로그램을 실행하고 창을 기다린 다음 작업하기