AutoHotKey(오토핫키) 설명서 WinGet

Posted by 발전소장
2014. 8. 14. 14:28 AutoHotKey/Commands

WinGet

윈도우 핸들(고유의ID)(이)나 일람, 프로세스ID등을 취득

WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]

Parameters

인수명설명
OutputVar 결과를 격납하는 변수명
Cmd 무엇을 취득하는지를 지정.생략시는 「ID」.자세한 것은 아래와 같이 참조.
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

Cmd(으)로 지정하는 커멘드

ID
조건에 일치하는 제일 최초(전면)의 윈도우의 윈도우 핸들(고유의ID)
IDLast
조건에 일치하는 제일 최후(배면)의 윈도우의 윈도우 핸들(고유의ID)
윈도우가 하나 밖에 성냥 하지 않는 경우는 「ID」라고 변하지 않다.
WinActivateBottom의 매치 동작과 동등.
PID
조건에 일치하는 제일 최초(전면)의 윈도우의PID(프로세스ID). Process커멘드로 사용한다.
ProcessName
조건에 일치하는 제일 최초(전면)의 윈도우의 프로세스의 실행 파일명.
ControlList
조건에 일치하는 최초의 윈도우상의 컨트롤의ClassNN의 일람을 개행 단락으로 얻는다.
줄 순서는 컨트롤의Z순위의 순서가 되어 있다.
parsing loop그리고 하나씩 처리할 수 있다.
윈도우가 컨트롤을 포함하지 않는 경우는, 비운다.
ControlListHWND
ControlList(와)과 같지만,ClassNN대신에 컨트롤의 윈도우 핸들의 일람을 취득한다.
Count
조건에 일치하는 윈도우의 수
List
조건에 일치하는 윈도우를 모두 열거한다.
OutputVar그리고 지정한 변수에는 윈도우의 수가 대입되어 「OutputVar번호(1...)」라고 하는 이름의 변수(례:OutputVar1)에 차례로 윈도우 핸들이 격납된다.
존재하는 모든 윈도우를 열거하려면 ,WinTitle(와)과WinText(을)를 비워,ExcludeTitle에 존재 할 수 없는 타이틀을 지정한다.
MinMax
조건에 일치하는 제일 최초(전면)의 윈도우 상태를 취득한다.
최소화되고 있으면 「-1」, 최대화되고 있으면 「1」, 통상 상태라면 「0」(이)가 취득된다.
Transparent
윈도우의 불투명도.
0하지만 완전하게 불가시,255하지만 완전하게 불투명.
반투명이 아닐 때는 비운다.
TransColor
반투명화 되고 있는 색.
특정의 색이 반투명이 되어 있는 윈도우에서는 「0x00CC99」(와)과 같은 형식에서 그 색이 취득된다.그 이외의 경우는 비운다.
Style
ExStyle
윈도우의 스타일, 확장 스타일을8자리수의16진수로 얻는다.
스타일에 대해서는,윈도우 스타일 일람(을)를 참조.
특정의 스타일이 포함되어 있을까를 조사하려면 ,Transform커멘드의BitAnd(을)를 사용한다.(조사하고 싶은 스타일의 수치와의BitAnd하지만0(이)가 아니면, 포함되어 있다)

Remarks

윈도우 핸들은16진수의 형식에서 취득된다.
취득한 핸들은, 윈도우 관련 커멘드의WinTitle(을)를 지정하는 (곳)중에 「ahk_id %OutputVar%」라고 하도록(듯이) 해 사용할 수 있다.

마우스 커서아래의 윈도우의 핸들을 취득하려면 ,MouseGetPos커멘드를 사용한다.

Related

WinGetClass, WinGetTitle, MouseGetPos, GroupAdd

Example(s)

WinGet, active_id, ID, A
WinMaximize, ahk_id %active_id%
MsgBox, The active window's ID is "%active_id%".
; This next example will visit all open windows and display info
; about each of them:
WinGet, id, list, , , Program Manager
Loop, %id%
{
	StringTrimRight, this_id, id%a_index%, 0
	WinActivate, ahk_id %this_id%
	WinGetClass, this_class, ahk_id %this_id%
	WinGetTitle, this_title, ahk_id %this_id%
	MsgBox, 4, , Visiting All Windows`n%a_index% of %id%`nahk_id %this_id%`nahk_class %this_class%`n%this_title%`n`nContinue?
	IfMsgBox, NO, break
}
Example #3: Extract the individual control names from a ControlList:
WinGet, ActiveControlList, ControlList, A
Loop, Parse, ActiveControlList, `n
{
	MsgBox, 4,, Control #%a_index% is "%A_LoopField%". Continue?
	IfMsgBox, No
		break
}

Example #4: Display in real time the active window's control list:
#Persistent
SetTimer, WatchActiveWindow, 200
return
WatchActiveWindow:
WinGet, ControlList, ControlList, A
ToolTip, %ControlList%
return


AutoHotKey(오토핫키) 설명서 WinExist()

Posted by 발전소장
2014. 8. 14. 14:28 AutoHotKey/Commands

WinExist()

조건에 일치하는 윈도우가 존재할 때, 그 윈도우의 핸들을 돌려주는 함수

WinExist("WinTitle" [ , "WinText", "ExcludeTitle", "ExcludeText"]) 

Parameters

인수명설명
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

Remarks

조건에 일치하는 윈도우가 있으면, 그 윈도우 핸들을, 존재하지 않으면 「0」(을)를 돌려준다.

Related

함수, IfWinExist, WinGet


AutoHotKey(오토핫키) 설명서 WinClose

Posted by 발전소장
2014. 8. 14. 14:27 AutoHotKey/Commands

WinClose

윈도우를 닫는다

WinClose [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]

Parameters

인수명설명
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
SecondsToWait 윈도우가 완전하게 닫혀질 때까지 대기하는 시간.
생략시는 일절 기다리지 않는다.「0」(을)를 지정하면,500밀리 세컨드 기다린다.
WinWaitClose의 기능과 닮아 있지만,ErrorLevel그리고 윈도우가 닫혀졌는지를 취득하는 것은 할 수 없다.
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

Remarks

윈도우에 대해 윈도우를 닫는 메세지를 송신해 윈도우를 닫게 한다.
그것에 의해 발생하는 동작은 어플리케이션에 따라서 다르다.

조건에 일치하는 윈도우 가운데, 액티브한 윈도우인가, 제일 전면의 윈도우가 대상이 된다.

WinKill커멘드를 사용하면, 강제적으로 윈도우를 닫을 수도 있다.

Related

WinKill, WinWaitClose, WinActivate, SetTitleMatchMode, DetectHiddenWindows, Last Found Window, IfWinExist, IfWinActive, WinWaitActive, WinWait, GroupActivate

Example(s)

IfWinExist, Untitled - Notepad
	WinClose ; use the window found above
else
	WinClose, Calculator


AutoHotKey(오토핫키) 설명서 WinActive()

Posted by 발전소장
2014. 8. 14. 14:27 AutoHotKey/Commands

WinActive()

조건에 일치하는 윈도우가 액티브하면, 그 윈도우의 핸들을 돌려주는 함수

WinActive("WinTitle" [ , "WinText", "ExcludeTitle", "ExcludeText"]) 

Parameters

인수명설명
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

Remarks

조건에 일치하는 윈도우가 액티브하면, 그 윈도우 핸들을, 그렇지 않으면 「0」(을)를 돌려준다.

Related

함수, IfWinActive, WinGet


AutoHotKey(오토핫키) 설명서 WinActivateBottom

Posted by 발전소장
2014. 8. 14. 14:27 AutoHotKey/Commands

WinActivateBottom

조건에 일치한 맨 밑(배면)의 윈도우를 액티브화

WinActivateBottom [, WinTitle, WinText, ExcludeTitle, ExcludeText]

Parameters

인수명설명
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조. 다만, 이 커멘드에 한정해LastFoundWindow(은)는 사용할 수 없기 때문에, 최저 하나의 조건을 지정해야 한다.
WinText 윈도우에 포함되는 텍스트
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

Remarks

조건에 일치하는 윈도우가 하나 밖에 없으면,WinActivate(와)과 완전히 같은 동작.
그 외 자세한 것은WinActivate참조.

Window그룹(을)를 사용하면, 조건에 일치하는 윈도우군에 대해보다 유연한 조작이 가능하게 된다.

Related

WinActivate, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, IfWinExist, IfWinActive, WinWaitActive, WinWait, WinWaitClose, GroupActivate

Example(s)

; This hotkey allows you to visit all open browser windows in order
; from oldest to newest:
#i::
SetTitleMatchMode, 2
WinActivateBottom, - Microsoft Internet Explorer
return


AutoHotKey(오토핫키) 설명서 WinActivate

Posted by 발전소장
2014. 8. 14. 14:26 AutoHotKey/Commands

WinActivate

지정한 윈도우를 액티브하게 한다(포커스를 옮겨, 전면에 가져온다)

WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]

Parameters

인수명설명
WinTitle 윈도우 타이틀 등.
윈도우 지정의 방법참조.
WinText 윈도우에 포함되는 텍스트
ExcludeTitle 제외 타이틀
ExcludeText 제외 텍스트

Remarks

60밀리 세컨드의 사이에6대로의 방법으로 액티브화를 시도한다.
그러므로, 통상은 직후에WinWaitActive그리고 윈도우가 완전하게 액티브하게 되는 것을 기다릴 필요는 없다.

지정에 일치한 윈도우 가운데, 제일 전면의 윈도우가 액티브하게 된다.
벌써 일치하는 윈도우가 액티브한 경우는, 액티브 윈도우는 그대로 된다.
맨 밑의 윈도우를 액티브하게 하려면 ,WinActivateBottom커멘드를 사용한다.

액티브 윈도우가 바뀐 직후에 다른 윈도우가 액티브하게 되면,OS(이)나 설정에 따라서는 태스크바 버튼이 점멸하는 것만으로 액티브 윈도우가 변하지 않다.
이것을 막으려면 ,#WinActivateForce지령을 사용한다.

Related

WinActivateBottom, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, Last Found Window, IfWinExist, IfWinActive, WinWaitActive, WinWait, WinWaitClose, WinClose, GroupActivate, WinSet

Example(s)

IfWinExist, Untitled - Notepad
	WinActivate ; use the window found above
else
	WinActivate, Calculator


AutoHotKey(오토핫키) 설명서 VarSetCapacity()

Posted by 발전소장
2014. 8. 14. 14:26 AutoHotKey/Commands

VarSetCapacity()

변수에 확보되고 있는 메모리의 사이즈를 변경한다.

VarSetCapacity(Var [, RequestedCapacity, FillByte])

Parameters

인수명설명
Var 사이즈의 변경을 실시하는 변수.
RequestedCapacity 확보하고 싶은 아르바이트수.
실제로는, 이 사이즈에1(을)를 더한 아르바이트 몇분의 메모리 영역이 확보된다.(null종단 문자의 분)
이 인수를 생략 하면,Var인수로 지정한 변수에는 어떤 변화도 일어나지 않는다.
FillByte 확보한 버퍼를 임의의 아르바이트치로 묻고 싶은 경우에, 그 값(0...255)(을)를 지정한다.
버퍼를 문자열로서가 아니고 아르바이트열로서 사용하고 싶을 때에 이용한다.

돌아가 값

실제로 확보된 영역의 사이즈.
종단의null문자의 분은 포함되지 않는다.
RequestedCapacity그리고 지정한 사이즈와 같은가, 그것보다 작아진다.
어떠한 문제가 있어 확보를 하지 않았던 경우,0하지만 돌아간다.
RequestedCapacity인수를 생략 했을 경우,Var그리고 지정한 변수에 현재 확보되고 있는 메모리 영역의 사이즈가 돌아간다.

Remarks

빈메모리가 부족해 영역의 재확보를 할 수 없는등의 경우, 에러 다이얼로그가 표시되어 현재의스렛드하지만 강제 종료한다.

AutoHotkey의 커멘드나 함수등을 실행하는 경우, 변수의 사이즈는 필요에 따라서 자동적으로 신장된다.
이 경우, 빈번한 사이즈의 변화에 의해서 재확보가 다발하고 퍼포먼스가 저하하는 것을 막기 위해, 내용의 사이즈보다 조금 큰 영역을 확보한다.
내용의 사이즈가64아르바이트 미만의 경우,0,1,6,63아르바이트가 확보된다.
확보되고 있는 사이즈가4096아르바이트 이상의 경우, 「Var=」등으로 해서 변수의 내용을 비우면, 영역을 개방해0아르바이트가 된다.
그것 미만의 경우나, 변수의 내용이 비우지 않는 경우는, 확보된 영역은 훨씬 그대로 된다.

4096아르바이트 미만의 변수에서도, 「VarSetCapacity(Var,0)」라고 하는 것으로 영역을 해방할 수 있다.
다만,64아르바이트 미만의 영역은 개방되지 않는다.
아무래도 개방하고 싶은 경우는, 일단 「VarSetCapacity(Var,64)」등으로 해서로부터 개방한다.

변수의 내용의 사이즈와 확보되고 있는 영역의 사이즈는,ListVars커멘드등에서 표시되는 변수의 일람으로 볼 수 있다.

RequestedCapacity에 「-1」(을)를 지정하면, 내부에서 보관 유지되고 있는 사이즈를 다시 센다.
이것은,DllCall그리고 「UInt,&var」(와)과 같이 변수의 주소를 건네주어,DLL의 함수내에서 변수의 내용을 고쳐 쓸 수 있었을 때 등에 이용된다.
이하의 예에서는,3행목이 있을 때와 없을 때로 변수의 문자 수라고 해 표시되는 값이 바뀐다. 「Str,var」(와)과 같이 문자열로서 주소를 건네주었을 경우에는, 자동적으로 문자수는 다시 센다.

VarSetCapacity(var,256)
DllCall("msvcrt.dll\_mbscpy",UInt,&var,Str,"aaa",Str)
VarSetCapacity(var,-1)
ListVars
MsgBox

주로,DllCall()그리고 일정한 메모리를 확보해 건네줄 필요가 있는 경우나, 버퍼의 확보되고 있는 사이즈를 인수로서 건네줄 필요가 있는 경우에 사용한다.

또, 섬세한 문자열의 연결을 반복하는 경우 등에, 미리 큰 영역을 확보해 두는 것으로, 재확보의 발생을 줄여 퍼포먼스를 향상시킬 수도 있다.

Related

DllCall(), #MaxMem

Examples

VarSetCapacity(MyVar, 1000)
Loop
{

	...
	MyVar = %MyVar%%StringToConcatenate%
	...
}


AutoHotKey(오토핫키) 설명서 Usage

Posted by 발전소장
2014. 8. 14. 14:26 AutoHotKey/Commands

사용 방법

인스톨

ZIP어카이브(archive)판은, 해동하는 것만으로 실행 가능하게 된다.
installer판은, 실행한다고 표시되는 화면에서 「Next>」 「I Agree」 「Next」 「Install」의 순서에 눌러 가면 인스톨 할 수 있다.

스크립트 파일이 관련지어

AutoHotkey(을)를 installer로 인스톨 하면, 확장자(extension) 「.ahk」의 파일에 관련지어를 해 확장자(extension) 「.ahk」의 스크립트 파일을 익스플로러로 더블 클릭 했을 때 등에AutoHotkey.exe그리고 실행되게 된다.
오른쪽 클릭 메뉴에는, 스크립트를 실행하는 「Run Script」외, 후술의ahk2.exe그리고 실행 파일화하는 「Compile Script」,notepad.exe그리고 스크립트 파일을 여는 「Edit Script」(이)가 추가된다.
또, installer의 「Choose Components」의 화면에서 「Enable drag & drop onto scripts」에 체크를 했을 경우, 스크립트 파일의 아이콘에 파일을 드러그&드롭 했을 때에, 스크립트 파일에 인수(%1%)(으)로서 보내지게 된다.

스크립트의 실행 파일화

ahk2exe.exe(을)를 사용하는 것으로, 스크립트를 실행 파일화하는 것이 가능.
실행 파일은UPX에 의한 압축이 베풀어진다.
역컴파일러도 공개되고 있지만, 패스워드로 암호화하면 역 컴파일을 막을 수 있다.
작성한 실행 파일의 배포는 자유.

컴파일 된 스크립트에서는 통상, task tray 메뉴로부터 메인 윈도우를 표시하는 것은 할 수 없다.
Menu,TRAY,MainWindow」(으)로 메인 윈도우를 표시 가능하게 할 수 있다.

스크립트측으로부터, 컴파일 된 상태로 실행되고 있는지 어떤지를 알려면 , 「A_IsCompiled」변수를 사용한다.「1」(이)라면 컴파일 되고 있다.

ahk2exe.exe의 커멘드 라인

Ahk2exe.exe /in <infile.ahk> [/out <outfile.exe>][/icon <iconfile.ico>][/pass <passphrase>]

Ahk2exe.exe(은)는 커멘드 라인으로부터 직접 컴파일을 실행하는 일도 가능.

컴파일 된 실행 파일의 커멘드 라인

CompiledScript.exe [/f] [/r] [/ErrorStdOut] [Script Parameters] 

컴파일 해 작성된 실행 파일은, 상기의 커멘드 라인으로 실행할 수 있다.
Script Filename의 지정이 없는 이외는AutoHotkey.exe(와)과 같다.

AutoHotkey.exe의 실행

AutoHotkey.exe하AutoHotkey의 스크립트를 실행하는 메인 프로그램이다.
실행시의 커멘드 라인은 이하와 같은 서식이 되어 있다.
스크립트 파일을 관련지어로부터 실행하는 경우는, 의식할 필요는 없다.

AutoHotkey.exe [/f] [/r] [/ErrorStdOut] [Script Filename] [Script Parameters]

각 옵션의 의미는 이하와 같다.

/f
경고 다이얼로그를 내지 않고 , 강제적으로 기동
/r
스크립트를 재독 보고 하고 싶을 때에 사용.
/ErrorStdOut
문법 에러를 다이얼로그 표시하지 않고 표준 출력에 출력한다

단지AutoHotkey.exe(을)를 실행하는 등,Script Filename(을)를 지정하지 않고 기동했을 경우는, 기동시의 작업 디렉토리의AutoHotkey.ini하지만 읽힌다.
파일이 존재하지 않는 경우,AutoHotkey.ini(을)를 작성해도 좋은가를 문의하는 다이얼로그가 표시된다.

Script Filename(을)를 지정하지 않으면Script Parameters(을)를 지정하는 것은 할 수 없다.

Script Parameters에는 임의의 수의 문자열을 스페이스 단락으로 건네줄 수 있다.
스페이스를 포함한 경우는 「"」(으)로 둘러싼다.
건네받은 인수는,변수에 격납되어 스크립트내에서 「%1%」, 「%2%」……(와)과 같이 기술하는 것으로 참조할 수 있다.
「%0%」에는 인수의 수가 격납된다.
덧붙여 스크립트 자신 패스를 취득하려면 「%A_ScriptFullPath%」변수를 사용한다.

스크립트의 에러

스크립트의 에러에는, 읽기시의 에러와 실행시의 에러가 있다.

존재하지 않는 커멘드나 함수의 호출해, 커멘드의 서식 잘못해, 존재하지 않는 라벨의 지정, 열림 괄호라고 닫아 괄호의 대응의 미비등이 읽어들여 때 에러가 된다.
이러한 문제가 있는 스크립트를 실행하려고 하면, 에러 개소나 에러 개요등이 다이얼로그로 표시되고 실행은 행해지지 않는다.

스크립트의 실행중에 커멘드가 어떠한 형태로 실패했을 경우등에는, 실행시 에러가 된다.
실행시 에러가 발생하면, 다이얼로그가 표시되어 에러의 발생했다스렛드(은)는 그 자리에서 종료한다.
hot key등을 할당할 수 있어상주 상태(이)가 되어 있는 스크립트에서는, 스크립트 자체는 종료하지 않는다.그러나, 스크립트가 기대 대로에 실행되지 않았던 것으로, 그 후의 실행에 지장을 초래하는 경우가 있다.

리로드

task tray 아이콘의 오른쪽 클릭 메뉴로부터 「Reload This Script」(을)를 실행하는 것으로, 스크립트를 다시 읽어들여 실행할 수 있다.
또, 상주 상태가 되어 있는 스크립트는, 같은 스크립트를 한번 더 기동하는 것으로, 「기존의 프로세스를 종료해 기동할까」를 문의하는 다이얼로그가 표시되어 「네」를 선택하는 것으로 다시 읽기 한다.
Reload커멘드로 스크립트중으로부터 다시 읽기를 실시하게 하는 일도 가능.

AutoHotkey.exe의 task tray 아이콘

AutoHotkey.exe(을)를 실행하면, task tray에 아이콘이 표시된다.(이것은#NoTrayIcon지령이나Menu커멘드로 비표시에 할 수 있다)
더블 클릭으로AutoHotkey의 메인 윈도우가 표시되는 것 외에 오른쪽 클릭 메뉴로부터 이하의 조작을 실행할 수 있다.

Open
AutoHotkey의 메인 윈도우를 표시한다.
Help
헬프 파일(AutoHotkey.chm)(을)를 연다
Window Spy
윈도우 정보 표시 툴·AU3_Spy.exe(을)를 기동한다
Reload This Script
스크립트를 다시 읽기 해, 최초부터 다시 실행한다(Reload커멘드와 같다)
Edit This Script
스크립트를 메모장(notepad.exe)그리고 열린다
Suspend Hotkeys
할당한 hot key를 모두 정지한다(Suspend커멘드와 같다)
Pause Script
스크립트를 일시정지한다(Pause커멘드와 같다)
Exit
스크립트를 종료한다.ExitApp커멘드와 같다.

AutoHotkey.exe의 메인 윈도우

AutoHotkey의 메인 윈도우에서는, 실행중의 스크립트의 여러가지 정보를 표시할 수 있다.
표시 모드는 도구모음의 「View」이하로부터 선택해 바꾼다.
또, 각 화면을 표시하기 위한 커멘드도 각각 준비되어 있다.
어느 화면도, 호출 커멘드를 실행할까 「F5」키를 누르는 것으로 최신의 정보로 갱신할 수 있다.

Lines most recently executed

실행된 스크립트의 행이 차례로 표시된다.
이 화면은ListLines커멘드에서도 표시할 수 있다.

Script lines most recently executed (oldest first).  Press [F5] to refresh.  The seconds elapsed between a 
line and the one after it is in parentheses to the right (if not 0).  The bottommost line's elapsed time is 
the number of seconds since it executed.

002: Return (2.59)
003: Sleep,100 (0.11)
004: MsgBox (1.63)
005: ListLines

Press [F5] to refresh.

행 번호와 행의 내용이 실행된 순서에 표시된다.행의 내용은, 실제로 스크립트 파일에 기술되고 있는 것 것과 같다고는 할 수 없지만, 의미는 완전히 같게 되어 있다.
행의 내용의 뒤를 뒤따르고 있는 것이 있는 숫자가 들어간 「()」(은)는, 다음의 처리가 실행 될 때까지 경과한 시간(초)이다.
어떠한 이유로 스크립트의 처리를 하지 않았던 기간이 있는 경우에 표시된다.

Variables and their contents

스크립트에 의해서 작성된 변수와 그 내용이 일람표 나타난다.
이 화면은ListVars커멘드에서도 표시할 수 있다.

Local Variables for func2()
--------------------------------------------------
b[1 of 1]: a


Global Variables (alphabetical)
--------------------------------------------------
0[1 of 1]: 0
ErrorLevel[1 of 1]: 0
value[8 of 63]: aaaaaaaa

각 행의 선두가 변수명이다.일람은 변수명 순서에 늘어놓을 수 있고 있다.
변수명의 뒤의 「[x of y]」가 되고 있는 부분은, 왼쪽의 숫자가 변수의 내용의 문자수, 오른쪽의 숫자가 변수를 위해서 확보되고 있는 메모리의 용량(VarSetCapacity()함수로 설정 가능)이다.
「:」보다 오른쪽으로 변수의 내용의 선두60아르바이트분이 표시된다.

화면이 표시된 시점에서AutoHotkey의유저 정의 함수하지만 실행되고 있는 경우는, 함수내에서만 유효한 로컬 변수의 일람이 표시된다.(「Local Variables for ...」이하의 부분)
함수중에서 다른 함수 호출을 하고 있는 경우에서도, 현재 실행되고 있는 맨 위위의 함수의 물건만이 표시된다.

Hotkeys and their methods

스크립트에 의해서 할당할 수 있고 있는 hot key가 일람표 나타난다.
이 화면은ListHotkeys커멘드에서도 표시할 수 있다.

Type	Off?	Running	Name
-------------------------------------------------------------------
reg			F1
m-hook			MButton
k-hook			$F2
k-hook			F3

각각의 열의 의미는 이하와 같다.

Type
hot key의 등록 방법.이하와 같은 것이 있다.
reg
Windows의 hot key 등록 기구를 이용해 등록
reg(no)
hot key가 무효화되고 있기 때문에, 등록을 해제되어 있다
k-hook
키보드 훅에 의해서 키 눌러 인하를 검지하고 있다
m-hook
마우스 훅에 의해서 mouse button 눌러 인하를 검지하고 있다
2hooks
마우스와 키보드의 양쪽 모두의 훅을 사용하고 있다
joypoll
죠이스틱의 버튼을 검출하기 위한 처리를 실시하고 있다
Off?
Hotkey커멘드등에 의해서 일시적으로 무효화되고 있는 경우는 「OFF」(이)가 된다
#IfWinActive지령의 조건 나누기에 의해 복수 할당할 수 있었던 우리 일부만이 무효화되고 있는 경우는 「PART」(이)가 된다
Running
hot key 써브루틴의 스렛드가 실행되고 있는 수
Name
hot key명

Key history and script info

키보드의 이력이나 밀리고 있는 키, 그 외 스크립트의 정보등이 표시된다.
KeyHistory커멘드에서도 표시할 수 있다.

Window: E:\test\test.ahk - AutoHotkey v1.0.44.07
Keybd hook: yes
Mouse hook: yes
Enabled Timers: 0 of 0 ()
Interrupted threads: 0
Paused threads: 0 of 0 (0 layers)
Modifiers (GetKeyState() now) = 
Modifiers (Hook's Logical) = 
Modifiers (Hook's Physical) = 
Prefix key is down: no

NOTE: To disable the key history shown below, add the line "#KeyHistory 0" anywhere in the script.  The same 
method can be used to change the size of the history buffer.  For example: #KeyHistory 100  (Default is 40, 
Max is 500)

The oldest are listed first.  VK=Virtual Key, SC=Scan Code, Elapsed=Seconds since the previous event.  Types:
 h=Hook Hotkey, s=Suppressed (blocked), i=Ignored because it was generated by an AHK script, a=Artificial, #=
Disabled via #IfWinActive/Exist.

VK  SC	Type	Up/Dn	Elapsed	Key		Window
-------------------------------------------------------------------------------------------------------------
78  043	 	u	0.08	F9             	E:\test\test.ahk - VxEditor
70  03B	 	d	2.61	F1             	
70  03B	 	u	0.11	F1             	
01  000	 	d	0.98	LButton        	
01  000	 	u	0.08	LButton        	
Press [F5] to refresh.

상부에 표시되는 정보의 의미는 이하와 같다.

Window
이 화면이 표시되기 직전에 액티브했던 윈도우의 타이틀
Keybd hook
키보드 훅이 유효하게 되어 있으면 「yes」.키보드 훅을 유효하게 하려면 , 「$」수식자 hot key를 할당하는지,#InstallKeybdHook지령을 기술해 둔다
Mouse hook
마우스 훅이 유효하게 되어 있으면 「yes」.마우스 훅을 유효하게 하려면 , mouse button에 hot key를 할당하는지,#InstallMouseHook지령을 기술해 둔다
Enabled Timers
유효화 되고 있는 타이머의 수.「()」 안은 할당할 수 있었던 라벨명의 일람.타이머의 할당은SetTimer커멘드로 실시한다
Interrupted threads
스렛드의 세치기에 의해서 정지하고 있는 스렛드의 수
Paused threads
Pause커멘드등에 의해서 정지하고 있는 스렛드의 수
Modifiers (GetKeyState() now)
눌러 내려지고 있는 수식 키의 일람(GetKeyState()함수등에서 눌러 인하 상태라고 인식되는 것)
Modifiers (Hook's Logical)
눌러 내려지고 있는 수식 키의 일람(프로그램등에 의해서 눌러 내려지고 있는 것)
Modifiers (Hook's Physical)
눌러 내려지고 있는 수식 키의 일람(실제로 키보드의 키가 눌러 내려지고 있는 것)
Prefix key is down
「MButton & LButton」(와)과 같은 콤비네이션 키의 좌측으로 지정되어있는 키가 밀리고 있을 때 「yes」(이)가 된다

이력 부분의 설명문에 이어 키의 이력이 표시된다.
아래에 갈 만큼 새로운 이벤트이다.
각각의 열은 이하와 같은 의미가 되어 있다.

VK
조작된 키의 가상 키코드.hot key 라벨이나Send커멘드등에서 「vk??」(와)과 같이 해 키명 대신에 사용할 수 있다
SC
조작된 키의 스캔 코드.hot key 라벨이나Send커멘드등에서 「sc???」(와)과 같이 해 키명 대신에 사용할 수 있다
Type
이벤트의 타입.이하의 것이 있다.
h
훅을 이용한 hot key가 발동했다
s
훅에 의해서 이벤트가 은폐 되었다(어느 키에 hot key를 할당할 수 있고 있고, 그 키가 밀어 올려 이벤트에는 아무것도 할당할 수 있지 않은 경우, 밀어 올려 이벤트가 은폐 된다)
i
AutoHotkey자신이 생성한 이벤트(AutoHotkey의 hot key는 발동하지 않는다)
a
다른 프로그램에 의해서 생성된 이벤트
#
hot key는 할당할 수 있고 있지만#IfWinActive지령의 조건에 일치하지 않기 때문에 무시되었다
Up/Dn
키를 눌렀을 경우는 「d」, 떼어 놓았을 경우는 「u」(이)가 된다
Elapsed
하나전의 이벤트로부터의 경과시간(초)
Key
키명
Window
이벤트가 발생한 윈도우의 타이틀.윈도우가 바뀐 직후의 이벤트만 표시된다


AutoHotKey(오토핫키) 설명서 URLDownloadToFile

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

URLDownloadToFile

HTTP그리고 파일을 취득해, 지정 파일에 보존한다

URLDownloadToFile, URL, Filename 

Parameters

인수명설명
URL 취득한다URL
Filename 보존하는 파일명.
상대 패스로 지정했을 경우는,%A_WorkingDir%(을)를 기준으로 한 패스가 된다.
존재하는 파일을 지정했을 경우, 덧쓰기된다.

ErrorLevel

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

Remarks

404등의 에러가 되돌아 와도, 에러 페이지가 파일에 보존된다.

키보드나 마우스의 훅을 사용하고 있으면, 다운로드 시에 일시적으로 조작 불능에 빠지는 경우가 있다.

InternetExplorer3이후가 필요.

IE의 캐쉬에 파일이 있어도, 항상 서버상의 파일을 취득한다
「*0 http://www.example.com/」(와)과 같이URL의 전에 「*0」(을)를 붙이면, 캐쉬가 있는 경우는 캐쉬로부터 카피하게 된다.

Related

FileCopy

Example(s)

URLDownloadToFile, http://www.someorg.org, c:\SomeOrg's Welcome.html
URLDownloadToFile, http://someorg.org/archive.zip, c:\SomeOrg's Archive.zip


AutoHotKey(오토핫키) 설명서 TrayTip

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

TrayTip

트레이 아이콘의 곳에 벌룬 메세지를 표시한다(Windows2000/XP이후 전용)

TrayTip [, Title, Text, Seconds, Options]

Parameters

인수명설명
Title 벌룬 메세지의 타이틀을 지정.
63문자 이상은 잘라 버릴 수 있다.
이 인수를 생략 하면, 타이틀을 표시하는 부분이 없어져, 벌룬 메세지의 높이가 낮아진다.
Text 표시하는 텍스트.
255문자 이상은 잘라 버릴 수 있다.
개행을 포함한 텍스트도 가능.
이 인수가 생략 되면, 벌룬 메세지는 소거된다.
Seconds 윈도우가 자동 소거될 때까지의 대기 시간을 초수로 지정.
최소10, 최대30.
생략시는10.
메세지가 표시된 후, 최초로 어떠한 조작을 하고 나서, 이 초수만큼 대기된다.
Options 표시하는 아이콘을 지정.
0|생략시
아이콘 없음
1
인포메이션 아이콘
2
경고 아이콘
3
에러 아이콘
16(을)를 더하면, 소리를 울리지 않고 표시한다.

Remarks

벌룬 메세지는, 스크립트의 task tray 아이콘이 비표시가 되어 있는 경우 표시할 수 없다.

레지스트리의 설정으로 벌룬 메세지를 금지하게 되어 있는 경우도, 표시할 수 없다.

Related

ToolTip, SetTimer, SplashTextOn, MsgBox, InputBox, FileSelectFile, FileSelectFolder

Example(s)

TrayTip, MyTitle, Multiline`nText, 20, 17

; To have more precise control over the display time without
; having to use Sleep (which stops the current thread):
#Persistent
TrayTip, Timed TrayTip, This will be displayed for 5 seconds.
SetTimer, RemoveTrayTip, 5000
return

RemoveTrayTip:
SetTimer, RemoveTrayTip, Off
TrayTip
return

; To have a TrayTip permanently displayed, use a timer to refresh it
; periodically:
SetTimer, RefreshTrayTip, 1000
Gosub, RefreshTrayTip  ; Call it once to get it started right away.
return

RefreshTrayTip:
TrayTip, Refreshed TrayTip, This is a more permanent TrayTip., , 16
return