AutoHotKey(오토핫키) 설명서 Variables

Posted by 발전소장
2014. 8. 13. 16:54 AutoHotKey

편입 변수

특수 문자

A_Space 단독의 반각 스페이스를 나타내는데 사용한다.AutoTrim도 참조.
A_Tab 단독의Tab문자를 나타내는데 사용한다.AutoTrim도 참조.
False 「0」.
「가짜」를 나타낼 때 사용한다.
True 「1」.
「진」을 나타낼 때 사용한다.

스크립트 정보

A_AhkPath 현재의 스크립트를 실행하고 있는 실행 파일(AutoHotkey.exe)의 풀 패스.

컴파일 된 스크립트에서는, 레지스트리에 기록된 인스톨처 디렉토리내의AutoHotkey.exe의 패스가 된다.
인스톨처를 취득할 수 없는 경우는, 공문자열이 된다.
A_AhkVersion AutoHotkey의 버젼을 「1.0.22」등의 문자열로 격납한다.
실행 파일화 된 스크립트의 경우, 컴파일을 실시했다AutoHotkey의 버젼이 된다.
「if A_AhkVersion >= 1.0.25.07」(와)과 같이 하고, 버젼 번호의 대소를 비교하는 것이 가능.
A_IsCompiled 실행 파일화 된 스크립트의 경우 「1」(이)가 된다.
그 이외의 경우는 비운다.
환경 변수명(PATH등) AutoHotkey실행시의 환경 변수는 보통 변수와 같이 액세스 할 수 있다.
1, 2, 3, ……및 0 커멘드 라인 인수.
%0%에는 인수의 수가 격납된다.
인수의 건네주는 방법 등은스크립트의 항을 참조.
A_WorkingDir 작업 디렉토리.
파일의 읽고 쓰기등에서 디폴트의 디렉토리가 된다.
SetWorkingDir커멘드로 변경 가능.
마지막 「\」(은)는 제외해진다.다만, 드라이브 루트만은 예외.
A_ScriptName 스크립트의 파일명.
실행 파일화되고 있는 경우, 확장자(extension)가 「.exe」(이)가 된다.
IfInString, A_ScriptName, .exe그리고, 실행 파일화 되고 있는지를 판별할 수 있다.
A_ScriptDir 스크립트가 있는 디렉토리 패스.
마지막 「\」(은)는 제외해진다.
A_ScriptFullPath 스크립트의 풀 패스
A_ThisLabel 현재의 스렛드로 마지막에 불려 간 라벨명.
타이머, GUI이벤트, 메뉴, hot key, 핫 스트링, OnClipboardChange, OnExit그리고 실행된 스렛드에서는, 할당할 수 있었던 라벨 명화 초기치가 된다.
Gosub/Return(이)나Goto그리고 점프 하면 갱신된다.
A_ThisFunc 실행중의 함수명.
불특정 다수의 함수로부터Gosub그리고 불려 갈 가능성이 있는 써브루틴내에서, 호출원의 함수를 알 수 있다.
A_LineNumber 스크립트의 현재 실행중의 행 번호.
ListLines커멘드로 표시되는 행 번호와 같다.
A_LineFile 현재 실행중의 부분이 쓰여진 스크립트 파일의 풀 패스.
#Include(을)를 사용하고 있지 않는 경우는, 항상A_ScriptFullPath(와)과 같게 된다.
A_ExitReason OnExit그리고 지정된 써브루틴이 종료전에 불려 갔을 때, 종료 이유가 격납된다.
자세한 것은OnExit참조.

반복 처리 관련

A_Index 루프의 실행 회수.
1번째는1. 자세한 것은Loop의 항참조.
A_LoopFileName, etc. file-loop그리고 사용.
A_LoopRegName, etc. registry-loop그리고 사용.
A_LoopReadLine file-read loop그리고 사용.읽어들인 행의 내용.
A_LoopField 문자열 해석 루프그리고 사용.필드 내용.

일자 시각

FormatTime커멘드를 사용하는 것으로, 보다 많은 형식을 사용할 수 있다.

A_YYYY,A_Year 현재 일시의 해를 나타낸다4자리수의 숫자(...2004...)
A_MM,A_Mon 달을 나타낸다2자리수의 숫자(01...12)
A_DD,A_MDay 일을 나타낸다2자리수의 숫자(01...31)
A_MMMM 달의 명칭(...July...)
A_MMM 달을 나타낸다3문자의 생략명(...Jul...)
A_DDDD 요일을 나타내는 문자열(Sunday...)
A_DDD 요일을 나타낸다3문자의 생략명(Sun...)
A_WDay 요일을 나타낸다1문자의 숫자(1...7)1하지만 일요일
A_YDay 1해 중(안)에서 며칠눈인가(1...366)
제로 서플라이 되지 않기 때문에,001...099...366(와)과 같은 형식으로 하고 싶은 경우는, 「FormatTime, OutputVar, , YDay0」라고 한다.
A_YWeek 서기년과 주번호를 연결했다ISO8601형식의 문자열(...200453...)
1월1일을 포함한 주가4일 이상 있는 경우, 그 주가 제1주에, 그렇지 않은 경우는 다음의 주가 제1주가 된다.
A_YDay 1월1일부터의 날짜를 나타낸다1~3자리수의 수(1...366)
A_Hour 시간을 나타낸다2자리수의 숫자(00...23)
A_Min 분을 나타낸다2자리수의 숫자(00...59)
A_Sec 초를 나타낸다2자리수의 숫자(00...59)
A_MSec 밀리 세컨드를 나타낸다3자리수의 숫자(000...999).
A_Now 현재 시각을YYYYMMDDHH24MISS의 서식에서 나타낸 것
A_NowUTC UTC시각을YYYYMMDDHH24MISS의 서식에서 나타낸 것
A_TickCount OS하지만 기동하고 나서의 경과시간(밀리 세컨드)

스크립트 설정

A_IsSuspended 스크립트가Suspend커멘드로 중지 되고 있는 경우는 「1」(이)가 된다.그 이외의 경우는 「0」.
A_BatchLines SetBatchLines그리고 설정한 처리 속도.
A_TitleMatchMode SetTitleMatchMode그리고 지정한 윈도우 타이틀의 매치 방식.(1/2/3)
A_TitleMatchModeSpeed SetTitleMatchMode그리고 지정한 윈도우 타이틀 매치의 종류.(fast/slow)
A_DetectHiddenWindows DetectHiddenWindows그리고 지정한, 비표시 윈도우의 검출의 유무.(On/Off)
A_DetectHiddenText DetectHiddenText그리고 지정한 은폐 텍스트 검출의 유무(On/Off)
A_AutoTrim AutoTrim그리고 지정한, 인수의 전후의 공백을 자동 제거할지.(On/Off)
A_StringCaseSense StringCaseSense그리고 지정한, 대문자 소문자 구별의 유무.(On/Off/Locale)
A_FormatInteger SetFormat그리고 지정한 정수치의 서식(H/D)
A_FormatFloat SetFormat그리고 지정한 소수치의 서식
A_KeyDelay SetKeyDelay그리고 지정한, 키 입력의 간격.(밀리 세컨드)
A_WinDelay SetWinDelay그리고 지정한, 윈도우 조작의 간격.(밀리 세컨드)
A_ControlDelay SetControlDelay그리고 지정했다GUI컨트롤 조작의 간격.(밀리 세컨드)
A_MouseDelay SetMouseDelay그리고 지정한, 마우스 조작의 간격.(밀리 세컨드)
A_DefaultMouseSpeed SetDefaultMouseSpeed그리고 지정한, 마우스의 이동 속도의 디폴트.(0...100)
A_IconHidden 트레이 아이콘이 비표시가 되어 있는지 어떤지.(0=표시,1=비표시)
#NoTrayIcon지령이나Menu커멘드로 아이콘비표시로 할 수 있다.
A_IconTip Menu, Tray, Tip somestring」(으)로 트레이 아이콘의 툴 팁을 지정했을 때, 그 내용
A_IconFile Menu, tray, icon iconfilename.ico」(으)로 트레이 아이콘을 지정했을 경우, 그 파일명
A_IconNumber 아이콘 파일에 아이콘이 포함되어 있으면, 그 수

대기 경과시간

A_TimeIdle 마지막에 어떠한 입력이 있고 나서의 경과시간을 밀리 세컨드로 격납.(NT계 전용)
PC하지만 방치되어 있을 때 액션을 일으키는데 사용할 수 있다.
어떠한 프로그램이 생성한 입력 이벤트에서도 리셋트 되어 버린다.
A_TimeIdlePhysical A_TimeIdle(와)과 같지만,키보드Hook(이)나마우스Hook하지만 사용되고 있으면, 프로그램이 발생시킨 입력 이벤트를 무시할 수 있다.

hot key·GUI관련

A_ThisMenu A_ThisMenuItem의 아이템이 들어가 있던 메뉴명을 격납.
A_ThisMenuItem 마지막에 선택된 메뉴 아이템명이 격납된다.
자세한 것은,Menu커멘드 참조.
복수의 메뉴 아이템에 하나의 써브루틴을 할당하는 경우 등에 사용.
A_ThisMenuItemPos A_ThisMenuItem의 아이템이A_ThisMenu안에서 몇번째에 있었는지를 격납한다.
맨 위는 「1」.세퍼레이터도 카운트 된다.A_ThisMenu(이)나A_ThisMenuItem하지만 삭제되었을 경우, 이 변수는 비운다.
A_ThisHotkey 마지막에 실행된 hot key의 라벨명이 격납된다.(Win+A(이)라면 「#a」)
hot key 써브루틴의 실행중에 다른 hot key가 끼어들어 오면, 이 값은 변경되어 버리기 때문에, 필요하면 써브루틴의 초의 분으로 다른 변수에 카피하는 것.
A_PriorHotkey 하나전의 hot key
A_TimeSinceThisHotkey A_ThisHotkey의 발생으로부터 경과한 시간(밀리 세컨드).A_ThisHotkey하지만 하늘이라면-1.
A_TimeSincePriorHotkey A_PriorHotkey의 발생으로부터 경과한 시간
A_EndChar 제일 최근의스크립트 실행형 핫 스트링(을)를 발동시킨 종료 키.
「*」옵션에 의해 종료 키가 불필요하게 되어 있었을 경우는, 공백이 된다.
A_GUI 현재의스렛드(을)를 호출했다GUI윈도우의 번호.
현재의 스렛드가GUI위의 이벤트로 불려 갔으므로 않는 경우, 비운다.
A_GuiControl 현재의스렛드(을)를 호출했다GUI컨트롤.
컨트롤에 「V」옵션으로 변수를 관련지을 수 있고 있는 경우, 그 변수명이 격납된다.변수를 관련지을 수 있지 않은 경우, 컨트롤의 텍스트가 최대63문자 격납된다.
이 변수에 격납된 값은,GuiControl커멘드의ControlID인수로 사용할 수 있다.
현재의 스렛드가GUI컨트롤의 조작 이벤트로 불려 갔으므로 않는 경우는 비운다.
A_GuiWidth GuiSize이벤트하지만 불려 갔을 때의 해당GUI윈도우의 가로폭.
현재의 스렛드가GuiSize이벤트 이외로 불려 갔을 경우는, 부정 혹은 미정도리가 된다.
A_GuiHeight GuiSize이벤트하지만 불려 갔을 때의 해당GUI윈도우의 높이.
A_GuiX 일부의GUI관련 이벤트로 마우스 커서의 횡좌표를 윈도우의 좌단으로부터의 상대 좌표로 격납한다
A_GuiY 일부의GUI관련 이벤트로 마우스 커서의 종좌표를 윈도우의 상단으로부터의 상대 좌표로 격납한다
A_GuiEvent 현재의스렛드하지만GUI목응인 조작에 의해서 불려 갔는지.
내용은 이하의 어떤 것인가
(공)
현재의 스렛드가GUI의 액션(으)로서 불려 간 것이 아닌 경우
Normal
컨트롤의 싱글 클릭이나 그 다른 키스트로크(keystroke)에 의해서 불려 갔을 경우.
도구모음 부하의 메뉴 아이템의 실행이나,GuiEscape,GuiClose이벤트로서 실행되었을 경우에서도, 이 값을 할당할 수 있다.
DoubleClick
더블 클릭의2번째의 클릭에 의해서 불려 갔을 때에 이 값을 할당할 수 있다.(1번째의 클릭에서는,Normal하지만 할당할 수 있었던 스렛드가 실행된다)
슬라이더의 조작을 나타내는 값
Slider컨트롤에 할당할 수 있었던 라벨이 실행되었을 경우, 어떠한 조작으로 값이 변경되었는지를 나타내는 값이 격납된다.
파일명
GuiDropFiles이벤트그리고 불려 갔을 경우, 파일명이 개행 단락으로 격납된다.
그 외
GUI컨트롤의 타입에 따라서는, 다른 값이 돌려주어지는 경우도 있다.「DoubleClick(이)가 아니면 통상의 실행」등의 판정을 실시하는 것은 추천 되지 않는다.
A_GuiControlEvent A_GuiEvent(와)과 같다
A_EventInfo 현재의 스렛드가 불려 간 이벤트에 관한 추가의 정보를 격납한다.
추가의 정보를 가지지 않는 이벤트에서는, 「0」(이)가 된다.

OS및 유저 정보

A_OSType Windows9x계라면 「WIN32_WINDOWS」,NT계라면 「WIN32_NT」.
A_OSVersion "WIN_VISTA", "WIN_XP", "WIN_2000", "WIN_NT4", "WIN_95", "WIN_98", "WIN_ME".
A_Language 시스템의 언어를 나타낸다4자리수의16진수치.
값과 언어의 대응은language table(을)를 참조.일본어는 「0411」.
A_ComputerName 현재의 컴퓨터의 네트워크상에서의 이름
A_UserName 로그인하고 있는 유저명
A_IsAdmin 유저가 관리자 권한을 가지고 있는 경우 「1」, 관리자 권한이 없는 경우 「0」.9x계에서는 항상 「1」.
ComSpec 콘솔 쉘(많은 경우 「cmd.exe」)의 풀 패스.
A_WinDir Windows디렉토리의 패스.(례:C:\Windows)
A_ProgramFiles
ProgramFiles
Program Files디렉토리의 패스.(례:C:\Program Files)
A_AppData Application Data폴더의 풀 패스.
A_AppDataCommon 전유저 공통의Application Data폴더의 풀 패스.
A_Temp 텐포라리포르다의 풀 패스.
A_Desktop 데스크탑 폴더의 풀 패스.
A_DesktopCommon AllUsers의 공통 데스크탑 폴더의 풀 패스.
A_StartMenu 스타트 메뉴 폴더의 풀 패스.
A_StartMenuCommon AllUsers의 공통 스타트 메뉴 폴더의 풀 패스.
A_Programs 스타트 메뉴의 「프로그램」폴더의 풀 패스.
A_ProgramsCommon AllUsers의 공통 스타트 메뉴의 「프로그램」폴더의 풀 패스.
A_Startup 스타트 업 폴더의 풀 패스.
A_StartupCommon AllUsers의 공통 스타트 업 폴더의 풀 패스.
A_MyDocuments My Documents폴더의 풀 패스.
이 변수만은, 드라이브의 루트가 설정되어 있을 때, 마지막 「\」(이)가 제외해져 「D:」(와)과 같이 된다.
A_ScreenWidth 화면의 가로폭.
멀티 모니터 환경에서의 제2모니터 이후나 데스크탑 전체의 치수를 얻으려면 ,SysGet커멘드를 사용한다.
A_ScreenHeight 화면의 높이
A_IPAddress1...A_IPAddress4 1번째로부터4번째의 네트워크 어댑터의IP주소

A_Cursor 현재의 마우스 커서의 종류.이하의 문자열의 어떤 것인가.
AppStarting, Arrow, Cross, Help, IBeam, Icon, No, Size, SizeAll, SizeNESW, SizeNS, SizeNWSE, SizeWE, UpArrow, Wait, Unknown.
Size??의??(은)는 방위를 나타낸다. 브라우저로 링크를 포인트 했을 때 등에 사용되는 손의 형태의 커서는,Unknown(으)로서 다루어진다.
A_CaretX caret(텍스트 입력 커서)의X좌표.
통상은 액티브 윈도우의 좌상으로부터의 좌표이지만, 「CoordMode,Caret,Screen」라고 하는 커멘드를 실행하면, 스크린상에서의 좌표가 된다.
caret가 없는 경우나 좌표를 취득할 수 없는 경우는 공백이 된다.
A_CaretY caret의Y좌표
Clipboard 클립보드의 텍스트.
Clipboard(을)를 참조.
ClipboardAll 클립보드의 전내용.
통상의 변수와는 취급이 크게 다르다.
Clipboard(을)를 참조.
ErrorLevel ErrorLevel참조.
A_LastError DllCall(이)나Run,RunWait의 실행 후에, 「GetLastError()」API하지만 돌려주는 에러 코드를 격납한다.