AutoHotKey(오토핫키) 설명서 Exit

Posted by 발전소장
2014. 8. 13. 21:25 AutoHotKey/Commands

Exit

현재의 스렛드를 종료한다.상주 상태로 없는 스크립트는 그대로 종료한다.

Exit [, ExitCode]

Parameters

인수명설명
ExitCode 정수를 지정.
스크립트를 종료할 때, 프로세스의 종료 코드를 지정한다.
일반적으로, 정상 종료의 경우 「0」(을)를 돌려준다.
디폴트는 「0」.

Remarks

hot key의 등록이나,#Persistent지령에 의해서 상주 상태가 되어 있는 경우,Exit커멘드는 현재의 스렛드를 종료한다.
Return의 경우,Gosub그리고 써브루틴을 호출하고 있으면, 써브루틴으로부터 돌아올 뿐(만큼)이지만,Exit그럼 써브루틴내에 있어도 즉석에서 스렛드를 종료한다.

스크립트가 상주 상태로 없는 경우는, 스크립트가 종료한다.
다만,OnExit써브루틴이 설정되어 있는 경우,OnExit써브루틴내에서ExitApp하지만 실행되지 않으면 종료할 수 없다.

상주 상태의 스크립트를 종료하려면 ,ExitApp커멘드를 사용한다.

Related

ExitApp, OnExit, Gosub, Return, Threads, #Persistent

Example(s)

#z::
Gosub, Sub2
MsgBox, This msgbox will never happen because of the EXIT.
return
Sub2:
Exit ; Terminate this subroutine as well as the calling subroutine.


AutoHotKey(오토핫키) 설명서 EnvUpdate

Posted by 발전소장
2014. 8. 13. 21:24 AutoHotKey/Commands

EnvUpdate

환경 변수에의 변경을 시스템에 반영시킨다

EnvUpdate 

ErrorLevel

성공시는 「0」, 실패시는 「1」.

Remarks

EnvSet커멘드에서는WindowsAPI의 「SetEnvironmentVariable()」(을)를 사용하고 있지만, 이API그리고 설정한 환경 변수는API(을)를 사용한 프로세스로부터 기동되는 프로세스로 밖에 유효하지 않고,WM_SETTINGCHANGE(을)를lParam(을)를 「Environment」(으)로 해 브로드캐스트 해도 시스템 전체에 반영시킬 수 없다.
따라서, 이 커멘드는 기대 대로에 동작하지 않는다.

RegWrite커멘드로 레지스트리의 「HKEY_CURRENT_USER\Environment」또는 「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment」(을)를 변경해 이 커멘드를 실행하면, 그 변경이 반영된다고 생각된다.

Related

EnvSet, RegWrite

Example(s)

 EnvUpdate


AutoHotKey(오토핫키) 설명서 EnvSub

Posted by 발전소장
2014. 8. 13. 21:24 AutoHotKey/Commands

EnvSub

변수로부터 값을 감산한다.

EnvSub,Var,Value[,TimeUnits]
Var-=Value[,TimeUnits]
Var--

Parameters

인수명설명
Var 대상이 되는 변수명
Value 감산하는 수치.
(을)를 사용하는 일도 가능.
식을 사용하는 경우,TimeUnits(은)는 사용할 수 없다.
TimeUnits 일자 시각끼리를 감산할 때의 결과의 단위.
「Seconds」 「Minutes」 「Hours」 「Days」의 어떤 것인지를 지정.머리 글자 한 글자에서도 가능.
지정되면,Var(와)과Value(을)를YYYYMMDDHH24MISS형식의 일자 시각 포맷으로 간주해,2개의 일자 시각의 사이의 간격을TimeUnits그리고 지정한 단위로Var에 격납한다.
지정한 단위 미만의 간격은, 잘라 버릴 수 있다.(사사오입은 아니다).
Var(이)나Value의 값이 하늘의 경우, 현재의 일자 시각이 사용된다.
Var인가Value어느 쪽인지에서도 값이 일자 시각으로서 잘못하고 있는 경우,Var의 값은 비운다.

Remarks

「Var++」의 형식에서는,1만 값을 감산할 수 있다.
내부적으로는, 「Var-=1」라고 완전히 같다.

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvAdd, EnvMult, EnvDiv, SetFormat, , If var is [not] type, SetEnv, FileGetTime

Example(s)

EnvSub, MyCount, 2
MyCount -= 2 ; Equivalent to above
var1 = 20050126
var2 = 20040126
EnvSub, var1, %var2%, days
MsgBox, %var1% ; The answer will be 366 since 2004 is a leap year.


AutoHotKey(오토핫키) 설명서 EnvSet

Posted by 발전소장
2014. 8. 13. 21:23 AutoHotKey/Commands

EnvSet

환경 변수에 값을 설정

EnvSet, EnvVar, Value 

Parameters

인수명설명
EnvVar 환경 변수명.(「PATH」 등)
Value 설정하는 값

ErrorLevel

성공시는 「0」, 실패시는 「1」.

Remarks

설정된 환경 변수는,Run커멘드등에서 기동한 프로그램내로부터 참조할 수 있다.

일부의 커멘드의 인수로의 「%VarName%」(와)과 같은 변수의 전개에서는, 환경 변수도 통상의 변수와 같게 전개할 수 있다.

환경 변수의 길이는,OS에 의해32KB에 제한되고 있다.

Related

EnvUpdate, SetEnv, Run, RunWait

Example(s)

EnvSet,TestEnv,this is a test env
Run,%ComSpec% /K set TestEnv
;cmd.exe하지만 기동해,TestEnv에 격납된 내용을 표시한다


AutoHotKey(오토핫키) 설명서 EnvMult

Posted by 발전소장
2014. 8. 13. 21:22 AutoHotKey/Commands

EnvMult

변수의 값에 값을 걸어 적을 변수에 격납한다

EnvMult, Var, Value
Var*=Value

Parameters

인수명설명
Var 대상이 되는 변수명
Value 거는 값. (을)를 사용하는 일도 가능.

Remarks

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvAdd, EnvSub, EnvDiv, SetFormat, , If var is [not] type, SetEnv, bitwise operations (Transform)

Example(s)

EnvMult, MyCount, 2 
MyCount *= 2 ; Equivalent to above


AutoHotKey(오토핫키) 설명서 EnvGet

Posted by 발전소장
2014. 8. 13. 21:22 AutoHotKey/Commands

EnvGet

환경 변수로부터 값을 취득

EnvGet, OutputVar, EnvVarName

Parameters

인수명설명
OutputVar 취득한 값을 격납하는 변수명
EnvVarName 환경 변수명.(「PATH」 등)

Remarks

해당 환경 변수가 존재하지 않는 경우는,OutputVar(은)는 비운다

환경 변수의 길이는,OS에 의해32KB에 제한되고 있다.

Related

#NoEnv, EnvSet, EnvUpdate, SetEnv, Run, RunWait

Example(s)

EnvSet,TestEnv,this is a test env
Run,%ComSpec% /K set TestEnv
;cmd.exe하지만 기동해,TestEnv에 격납된 내용을 표시한다


AutoHotKey(오토핫키) 설명서 EnvDiv

Posted by 발전소장
2014. 8. 13. 21:21 AutoHotKey/Commands

EnvDiv

변수를 값으로 제산한다

EnvDiv, Var, Value
Var/=Value

Parameters

인수명설명
Var 대상이 되는 변수명
Value 나누는 수.(제로 이외)
(을)를 사용하는 일도 가능.

Remarks

실행시에 제로에 의한 제산이 발생하면, 에러 메세지가 표시된다.

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.(결과가 소수가 되어도, 정수에 말 수 있어 버리므로 주의)
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvAdd, EnvSub, EnvMult, SetFormat, , If var is [not] type, SetEnv, bitwise operations (Transform)

Example(s)

EnvDiv, MyCount, 2 
MyCount /= 2 ; Equivalent to above


AutoHotKey(오토핫키) 설명서 EnvAdd

Posted by 발전소장
2014. 8. 13. 21:00 AutoHotKey/Commands

EnvAdd

변수에 값을 가산한다.

EnvAdd, Var, Value [,TimeUnits]
Var+=Value [,TimeUnits]
Var++

Parameters

인수명설명
Var 대상이 되는 변수명
Value 가산하는 수치.
도 사용 가능.
식을 사용하는 경우는,TimeUnits(을)를 사용할 수 없다.
TimeUnits Value의 일자 시각의 단위.
「Seconds」 「Minutes」 「Hours」 「Days」의 어떤 것인지를 지정.머리 글자 한 글자에서도 가능.
지정되면,Var(을)를YYYYMMDDHH24MISS형식의 일자 시각 포맷으로 간주해,Value그리고 지정한 수를TimeUnits그리고 지정한 단위로 가산한다.
예를 들어,Value(을)를100,TimeUnits(을)를 「Days」라고 하면,Value의 일자를100닛신.
부의 값을 가산하는 것으로, 감산도 가능.
Var의 값이 하늘의 경우, 현재의 일자 시각이 사용된다.
Var의 값이 일자 시각으로서 잘못하고 있는 경우,Var의 값은 비운다.

Remarks

「Var++」의 형식에서는,1만 값을 가산할 수 있다.
내부적으로는, 「Var+=1」라고 완전히 같다.

Var(이)나Value의 값이 하늘이거나, 숫자 이외의 것에서는 글자 만문자열이었던 경우는, 「0」인 것으로서 계산된다.
숫자로부터 시작되어 있는 문자열이면, 선두의 숫자열(소수점 이하 포함한다)의 수치이다고 보인다.

Var(와)과Value의 양쪽 모두가 소수점을 포함하지 않는 숫자열의 경우, 결과는 정수 표기가 된다.
어느쪽이든가 소수점을 포함한 경우, 결과는 소수 표기가 된다.
결과의 표기 포맷은SetFormat그리고 설정할 수 있다.

Related

EnvSub, EnvMult, EnvDiv, SetFormat, , If var is [not] type, SetEnv, FileGetTime

Example(s)

EnvAdd, MyCount, 2
MyCount += 2 ; Equivalent to above
var1 = ; Make it blank so that the below will use the current time instead.
var1 += 31, days
MsgBox, %var1% ; The answer will be the date 31 days from now.


AutoHotKey(오토핫키) 설명서 Else

Posted by 발전소장
2014. 8. 13. 20:59 AutoHotKey/Commands

Else

If계의 커멘드로 조건에 일치하지 않았을 때의 동작을 지정

Else

Remarks

If커멘드와 조건에 일치했을 때에 실행시키고 싶은 커멘드(혹은 블록)에 이어else(을)를 사용하면, 조건에 일치하지 않았을 때에 실행시키고 싶은 동작을 기술할 수 있다.

else의 후에는 스페이스에서 단락지어(콤마는 아니다)실행시키고 싶은 커멘드를 기술할 수 있다.
「{」(은)는 「else{」(와)과 같이 스페이스를 비우지 않고 기술해도 좋다.
else if...」라고 하도록(듯이) 하고,A(이)가 아니고B(이)라면……이라고 하는 분기를 기술할 수도 있다.

Related

See Blocks. Also, every IF-command can use ELSE, including IfWinActive, IfWinExist, IfMsgBox, IfInString, IfBetween, IfIn, IF, and IF (expression)

Example(s)

IfWinExist, Untitled - Notepad
{
	WinActivate
	Sleep, 1
}
else
{
	WinActivate, Some Other Window
	Sleep, 1
}


if x = 1
	Gosub, a1
else if x = 2 ; "else if" style
	Gosub, a2
else IfEqual, x, 3 ; alternate style
{
	Gosub, a3
	Sleep, 1
}
else Gosub, a4  ; i.e. Any single command can be on the same line with an ELSE.

;Also OK:
IfEqual, y, 1, Gosub, b1
else {
	Sleep, 1
	Gosub, b2
}


AutoHotKey(오토핫키) 설명서 Edit

Posted by 발전소장
2014. 8. 13. 20:58 AutoHotKey/Commands

Edit

현재의 스크립트를 에디터로 열린다

Remarks

스크립트를 에디터로 열린다.
관련지어로 「Edit」커멘드가 설정되어 있으면, 그 커멘드로 열린다.
없으면,notepad.exe그리고 열린다.

task tray 메뉴의 「Edit This Script」와 같다.

Related

Reload

Example(s)

Edit ; opens the script for editing.