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

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

GetKeyState()

키가 눌러 내려지고 있는지 어떤지를 취득하는 함수

GetKeyState(KeyName [, "P|T"])

Parameters

인수명설명
KeyName눌러 내려지고 있는지 어떤지를 취득하고 싶은 키명
"P|T"「"P"」(을)를 지정했을 경우, 프로그램이 생성하는 가상적인 눌러 인하 상태를 무시해, 물리적인 눌러 인하 상태를 판정한다.
「"T"」(을)를 지정했을 경우,Capslock, Numlock, Scrolllock, Insert키의 타글 상태를 취득할 수 있다.

Remarks

지정한 키가 눌러 인하(타글의 경우는ON)상태의 경우 「1」, 밀리지 않은 경우는 「0」(이)가 돌아간다.
JoyX등을 지정했을 경우는, 스틱이 쓰러지는 상태가 돌아간다.
그 외의 상세한 것에 대하여는,GetKeyState의 설명도 참조.

Related

GetKeyState


AutoHotKey(오토핫키) 설명서 GetKeyState

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

GetKeyState

키보드나 mouse button의 눌러 인하 상태, 죠이스틱 상태를 취득

GetKeyState, OutputVar, KeyName [, Mode] 

Parameters

인수명설명
OutputVar 결과를 격납하는 변수명.
취득에 실패하면, 내용은 비운다.
KeyName 상태를 취득하고 싶은 키의 명칭.
특수 키의 일람은Key List참조.
Mode 「P」(을)를 지정하면, 소프트웨어적인 키보드 이벤트 생성을 무시해, 실제로 유저가 키를 누르고 있는지를 취득할 수 있다.(NT계 전용)(#InstallKeybdHook,#InstallMouseHook(을)를 기술하는 등,Hook(을)를 유효하게 하고 있을 필요 있어)
「T」(을)를 지정하면,CapsLock,NumLock,ScrollLock의ON/OFF상태를 취득할 수 있다.
이 경우,ON(이)라면 「D」,OFF(이)라면 「U」(이)가 된다.
이 인수는 생략 가능하고, 죠이스틱에서는 무효.

Remarks

버튼의 경우, 눌러 인하 상태라면 「D」, 밀리지 않으면 「U」(이)가OutputVar의 변수에 격납된다.
죠이스틱의 축(JoyX등)의 경우,0...100의 사이의 소수로 쓰러지는 상태가 나타내진다.(50(이)라면 쓰러지지 않았다)(수치의 서식은SetFormat그리고 지정 가능)
JoyPOV의 경우,0...35900의 값이 된다.정면을0(으)로 한 각도를100배가 된 것이 되는 모양.

Related

Key List, KeyHistory, #InstallKeybdHook, #InstallMouseHook, GetKeyState()

Example(s)

; Basic Examples:
GetKeyState, state, Shift
GetKeyState, state, CapsLock, T ; D if CapsLock is ON or U otherwise.
GetKeyState, state, RButton ; Right mouse button.
GetKeyState, state, Joy2 ; The second button of the first joystick.

; Advanced Example:
; In this case, the mouse button is kept held down while NumpadAdd
; is down, which effectively transforms NumpadAdd into a mouse button.
; This method can also be used to repeat an action while the user is
; holding down a key or button:
NumpadAdd::
MouseClick, left, , , 1, 0, D  ; Hold down the left mouse button.
Loop
{
	Sleep, 10
	GetKeyState, state, NumpadAdd, P
	if state = U  ; The key has been released, so break out of the loop.
		break
	; ... insert here any other actions you want repeated.
}
MouseClick, left, , , 1, 0, U  ; Release the mouse button.
return

; Example: Make joystick button behavior depend on joystick axis position.
joy2:: 
GetKeyState, joyx, JoyX 
if joyx > 75 
	MsgBox Action #1 (button pressed while joystick was pushed to the right)
else if joyx < 25 
	MsgBox Action #2 (button pressed while joystick was pushed to the left)
else
	MsgBox Action #3 (button pressed while joystick was centered horizontally)
return


AutoHotKey(오토핫키) 설명서 FormatTime

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

FormatTime

YYYYMMDDHH24MISS형식의 타임 스탬프를 지정의 서식의 일자 시각 문자열로 변환한다

FormatTime, OutputVar [, TimeStamp, Format] 

Parameters

OutputVar 출력 결과를 격납하는 변수명.
TimeStamp YYYYMMDDHH24MISS형식의 타임 스탬프 문자열.
생략시는 현재 시각.
일자 부분/시각 부분 가운데,25시간등 잘못된 부분을 포함한 부분은 출력되지 않는다.
또,1601해부터9999해의 범위외의 일자의 경우도, 일자 부분은 출력되지 않는다.
뒤로, 반각 스페이스에서 단락지어 이하의 옵션을 열거할 수 있다.
R
Format생략시, 일자 부분과 시각 부분의 차례를 바꿔 넣는다
Ln
n에 출력에 사용하는 언어의언어 코드(을)를 지정한다.
예를 들어, 「L0x0409」라고 하면, 영어 형식의 일자 시각 문자열이 출력된다.
D0
강제적으로 디폴트의 일자 옵션을 사용한다
D1
Format미지정시, 일자를 짧은 형식으로 한다(D2,D8(와)과는 병용 불가)
D2
Format미지정시, 일자를 긴 형식으로 한다(D1,D8(와)과는 병용 불가)
D4
대체 캘린더를 사용한다(일본어의 경우, 해 「헤세이 16」(와)과 같은 연호가 된다)
D8
Format미지정시, 일자를 해와 달만의 형식으로 한다(D1,D2(와)과는 병용 불가)
D0x10
왼쪽에서 오른쪽으로 읽도록(듯이) 지정한다
D0x20
오른쪽에서 왼쪽으로 읽도록(듯이) 지정한다
D0x40000000
일자 부분에 강제적으로ANSIcode page를 사용한다
D0x80000000
시스템의 디폴트 일자 표기를 무시한다
T0
강제적으로 디폴트의 시각 옵션을 사용한다
T1
분과 초를 생략 한다
T2
초를 생략 한다
T4
AM/PM의 표시를 생략 한다
T8
강제적으로24시간제 표기를 사용한다
T0x40000000
시각 부분에 강제적으로ANSIcode page를 사용한다
T0x80000000
시스템의 디폴트 시각표기를 무시한다
Format 출력되는 서식을 지정. 이하의 어떤 것인지를 지정.
(생략/공백)
긴 일자 시각(례:3:37 2004년12월22일)
Time
시각(례:5:26)
ShortDate
짧은 일자(례:2004/12/12)
LongDate
긴 일자(례:2004년12월12일)
YearMonth
해와 달(례:2004년12월)
YDay
1월1일부터의 경과일수(1...366)
YDay0
1월1일부터의 경과일수(001...366)
WDay
요일을 나타내는 숫자(1...7)1하지만 일요일.
YWeek
서기년과 주번호를 연결했다ISO8601형식의 문자열(...200453...)
1해에 최초의4일 이상 있는 주가 제1주가 된다.
(서식 문자열)
후술의 서식 문자열을 임의개 연결한 것.
반각영숫자 이외의 문자는, 그대로 기술할 수 있지만, 반각영숫자는 「'」(으)로 둘러쌀 필요가 있다.
「'」자신을 출력하려면 , 「''''」라고4개 계속하고 쓴다.
일자의 부분과 시각의 부분의2개로 나누어져 있을 필요가 있다.「yyyy년MM월hh때」는 가능하지만, 「yyyy년hh시MM달」은 지정할 수 없다.

Format의 서식 문자열

대문자 소문자는 구별된다

일자의 서식
서식 문자열출력 결과
d 일자(1...31)
dd 일자(01...31)
ddd 짧은 요일 문자열(일...토)
dddd 긴 요일 문자열(일요일...토요일)
M 월(1...12)
MM 월(01...12)
MMM 짧은 월명(일본어에서는1-12.영어의 경우,Jan등.)
MMMM 긴 월명(일본어에서는1월-12월.영어의 경우,January등.)
y 서기년의10의 정도 이하(0-99)
yy 서기년아래2형(00-99)
yyyy 4자리수의 서기년(2005등)
gg 연호 등.없는 경우는 하늘.(일본어의 경우,TimeStamp의 옵션에 「D4」(을)를 붙이면 「헤세이」 등에 된다)
시각의 서식
서식 문자열출력 결과
h 시(1...12)
hh 시(01...12)
H 시(0...23)
HH 시(00...23)
m 분(0...59)
mm 분(00...59)
s 초(0...59)
ss 초(00...59)
t 오전/오후를 나타낸다1문자(일본어의 경우, 어느쪽이나 「오」가 되어 버려 의미가 없다.영어의 경우, 「A」 「P」.
tt 오전이나 오후(영어의 경우AM/PM)

Related

SetFormat, Transform, built-in date and time variables, FileGetTime

Example(s)

FormatTime, TimeString
MsgBox The current time and date (time first) is %TimeString%.

FormatTime, TimeString, R
MsgBox The current time and date (date first) is %TimeString%.

FormatTime, TimeString,, Time
MsgBox The current time is %TimeString%.

FormatTime, TimeString, T12, Time
MsgBox The current 24-hour time is %TimeString%.

FormatTime, TimeString,, LongDate
MsgBox The current date (long format) is %TimeString%.

FormatTime, TimeString, 20050423220133, dddd MMMM d, yyyy hh:mm:ss tt
MsgBox The specified date and time, when formatted, is %TimeString%.

FormatTime, TimeString, 200504, 'Month Name': MMMM`n'Day Name': dddd
MsgBox %TimeString%

FormatTime, YearWeek, 20050101, YWeek
MsgBox January 1st of 2005 is in the following ISO year and week number: %YearWeek%

FileSelectFile, FileName, 3,, Pick a file
if FileName =  ; The user didn't pick a file.
	return
FileGetTime, FileTime, %FileName%
FormatTime, FileTime, %FileTime%   ; Since the last parameter is omitted, the long date and time are retrieved.
MsgBox The selected file was last modified at %FileTime%.


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

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

Floor()

주어진 수치보다 작은 최대의 정수를 돌려주는 함수

Floor(N)

Parameters

인수명설명
N원이 되는 수치를 지정한다

Remarks

돌아가 값은 정수치 표현이 된다
N하지만 수치가 아니었던 경우나, 계산 불능인 값이 주어졌을 경우는, 길이 제로의 공문자열이 돌아간다.

Related

함수


AutoHotKey(오토핫키) 설명서 FileSetTime

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

FileSetTime

파일이나 폴더의 타임 스탬프를(일괄)변경

FileSetTime [, YYYYMMDDHH24MISS, FilePattern, WhichTime, OperateOnFolders?, Recurse?]

Parameters

인수명설명
YYYYMMDDHH24MISS 일자 시각을YYYYMMDDHH24MISS의 형식에서 지정.
FilePattern 대상 파일명.
와일드 카드 사용가능.
상대 패스로 지정했을 경우는,%A_WorkingDir%(을)를 기준으로 한 패스가 된다.
생략시는, 제일 안쪽의File-Loop그리고 대상이 되고 있는 파일이 대상이 된다.
WhichTime 어느 타임 스탬프를 변경할까.
M
최종 갱신 일시(디폴트)
C
작성 일시
A
최종 액세스 일시
OperateOnFolders? 와일드 카드 사용시의 폴더의 취급
0
폴더는 대상으로 하지 않는다
1
폴더와 파일을 대칭으로 한다
2
폴더만을 대칭으로 한다
Recurse? 「1」(을)를 지정하면, 서브 폴더를 더듬어FilePattern에 일치하는 파일을 대상으로 한다.
생략시나 「0」(을)를 지정했을 경우는, 서브 폴더 이하는 포함하지 않는다.

ErrorLevel

변경에 실패한 파일의 수가 된다

Related

FileGetTime, FileGetAttrib, FileSetAttrib, FileGetSize, FileGetVersion, File-loop, EnvAdd, EnvSub

Example(s)

; Set the modification time to the current time for all matching files:
FileSetTime, , C:\temp\*.txt
; Set the modification date (time will be midnight):
FileSetTime, 20040122, C:\My Documents\test.doc
; Set the creation date. The time will be set to 4:55pm:
FileSetTime, 200401221655, C:\My Documents\test.doc, C
; Change the mod-date of all files  that match a pattern.
; Any matching folders will also be changed due to the last param:
FileSetTime, 20040122165500, C:\Temp\*.*, M, 1


AutoHotKey(오토핫키) 설명서 FileSetAttrib

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

FileSetAttrib

하나 이상의 파일의 속성을 변경

FileSetAttrib, Attributes [, FilePattern, OperateOnFolders?, Recurse?]

Parameters

인수명설명
Attributes 설정하는 속성(Remarks참조)
FilePattern 대상 파일명.
와일드 카드 사용가능.
상대 패스로 지정했을 경우는,%A_WorkingDir%(을)를 기준으로 한 패스가 된다.
생략시는, 제일 안쪽의File-Loop그리고 대상이 되고 있는 파일이 대상이 된다.
OperateOnFolders? 와일드 카드 사용시의 폴더의 취급
0
폴더는 대상으로 하지 않는다
1
폴더와 파일을 대칭으로 한다
2
폴더만을 대칭으로 한다
Recurse? 「1」(을)를 지정하면, 서브 폴더를 더듬어FilePattern에 일치하는 파일을 대상으로 한다.
생략시나 「0」(을)를 지정했을 경우는, 서브 폴더 이하는 포함하지 않는다.

ErrorLevel

속성 변경에 실패한 파일수가 된다

Remarks

Attributes에는, 새로운 설정을 나타내는 오퍼레이터라고 변경하고 싶은 속성을 조합한 것을 연결해 지정한다.

오퍼레이터
+ 속성을ON(으)로 한다
- 속성을OFF(으)로 한다
^ 속성의ON/OFF(을)를 바꾼다
속성
R독해 전용
A어카이브(archive)
S시스템
H은폐 파일
O오프 라인
T일시파일
N통상(다른 속성과 조합할 수 없다)

Related

FileGetAttrib, FileGetTime, FileSetTime, FileGetSize, FileGetVersion, File-loop

Example(s)

FileSetAttrib, +RH, C:\MyFiles\*.*, 1 ; +RH is identical to +R+H
FileSetAttrib, ^H, C:\MyFiles ; Toggle the folder's "hidden" attribute.
FileSetAttrib, -R+A, C:\New Text File.txt
FileSetAttrib, +A, C:\*.ini, , 1 ; Recurse through all .ini files on the C drive.

AutoHotKey(오토핫키) 설명서 FileSelectFolder

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

FileSelectFolder

폴더 선택 다이얼로그를 표시

FileSelectFolder, OutputVar [, RootOrStartingFolder, Options, Prompt]

Parameters

인수명설명
OutputVar 선택된 폴더 패스가 격납되는 변수명.
드라이브 루트(례:「C:\」)(을)를 제외하고, 패스의 말미에는 「\」(은)는 붙지 않는다.
RootOrStartingFolder 트리의 루트가 되는 디렉토리를 지정.
반드시 풀 패스로 지정해야 한다.
::{20d04fe0-3aea-1069-a2d8-08002b30309d}(와)과 같은CLSID도 지정 가능.
지정할 수 있다CLSID하CLSID일람참조
「::{450d8fba-ad25-11d0-98a8-0800361b1103}\My Pictures」(와)과 같이,CLSID에 이어 서브 폴더의 패스를을 지정하는 일도 가능
생략시는 「내 컴퓨터」
또, 폴더 패스의 선두에 「*」(을)를 붙인 것을 지정하면, 최초로 선택되고 있는 폴더를 지정할 수 있다.
「C:\ *C:\Windows」(와)과 같이 하는 것으로, 루트 폴더와 초기 폴더를 동시에 지정할 수 있다.
Options 이하의 것의 화.
디폴트는 「1」.
0
옵션 없음
1
「신규 폴더 작성」버튼을 표시.(WindowsXP+IE6이상이 필요)
2
폴더 나이리력란을 표시
Prompt 다이얼로그에 표시되는 메세지

Remarks

다이얼로그를 표시하고 있는 동안GUI윈도우를 조작할 수 없게 하고 싶은 경우는, 「Gui,+OwnDialogs」(을)를 실행한다.

Related

FileSelectFile, MsgBox, InputBox, ToolTip, FileCopyDir, FileMoveDir, SplitPath

Example(s)

FileSelectFolder, OutputVar, , 3
if OutputVar =
	MsgBox, The user didn't select a folder.
else
	MsgBox, The user selected folder "%OutputVar%".


AutoHotKey(오토핫키) 설명서 FileSelectFile

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

FileSelectFile

파일 선택 다이얼로그를 표시

FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]

Parameters

인수명설명
OutputVar 선택된 파일명이 격납되는 변수명
Options 이하의 것의 화.
생략시는 「0」.
1
존재하지 않는 파일을 금지한다
2
존재하지 않는 패스를 금지한다
4
복수 선택을 허가한다
8
존재하지 않는 파일을 지정했을 때, 신규 작성할까를 문의한다
16
존재하는 파일을 지정했을 때, 덧쓰기할까를 문의한다
32
쇼트 컷 파일(*.lnk)(을)를 선택했을 때, 링크 앞의 파일은 아니고 쇼트 컷 파일 그 자체가 선택되게 된다
값의 전에 「S」(을)를 붙이면, 「보존」다이얼로그로 할 수 있다.
「8」(을)를 지정해 「16」(을)를 지정하지 않았던 경우, 강제적으로 「보존」다이얼로그가 된다.
「4」(을)를 지정하는 대신에, 값의 전에 「M」(을)를 붙일 수도 있다.(례:「M」 「M3」)
RootDir\Filename 최초로 표시되는 디렉토리.
상대 패스로 지정했을 때는,%A_WorkingDir%(으)로부터의 상대 패스로 간주해진다.
생략시의 설정은OS에 의존한다.
::{20d04fe0-3aea-1069-a2d8-08002b30309d}(와)과 같은CLSID도 지정 가능.
지정할 수 있다CLSID하CLSID일람참조
「::{450d8fba-ad25-11d0-98a8-0800361b1103}\My Pictures」(와)과 같이,CLSID에 이어 서브 폴더의 패스를을 지정하는 일도 가능
마지막에 파일명을 포함한 패스를 지정하면, 파일명 입력란의 디폴트치를 지정할 수 있다.
Prompt 다이얼로그의 타이틀 바에 표시되는 메세지를 지정.생략시는 「Select File」
Filter 표시하는 파일명을 와일드 카드로 지정.
례:「WSH Script File(*.js;*.vbs)」
생략시는, 「파일의 종류」에는 「All Files (*.*)」와「Text Documents (*.txt)」(이)가 표시된다.
지정시는, 그 필터와 「All Files (*.*)」(이)가 표시된다.

Remarks

OutputVar에는 선택된 파일의 풀 패스가 격납된다.
「캔슬」버튼을 누르거나 「닫는다」버튼으로 다이얼로그를 다물거나 하면,OutputVar(은)는 비운다.

복수의 파일이 선택되었을 경우, 개행(`n)단락으로 열거된다.
그 경우,1행목은 파일이 있는 디렉토리가 되어, 나머지는 디렉토리 패스를 포함하지 않는 파일명이 된다.
이 때, 결과가64KB(을)를 넘는 경우는 결과가 비워 버린다.

덧붙여Options그리고 「M」(을)를 사용하지 않고 「4」(으)로 복수 선택으로 했을 경우, 하나 밖에 선택하지 않았을 때는 풀 패스가1행에 격납되게 된다.

Gui,+OwnDialogs(을)를 사용하는 것으로,GUI윈도우의 아이 윈도우로서 다이얼로그를 표시할 수 있다.
아이 윈도우로서 다이얼로그가 표시되고 있는 동안은, 부모가 된다GUI윈도우는 조작할 수 없게 된다.

Related

FileSelectFolder, MsgBox, InputBox, ToolTip

Example(s)

FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt; *.doc)
if SelectedFile =
	MsgBox, The user didn't select anything.
else
	MsgBox, The user selected the following:`n%SelectedFile%


; MULTI-SELECT EXAMPLE:
FileSelectFile, files, M3  ; M3 = Multiselect existing files.
if files =
{
	MsgBox, The user pressed cancel.
	return
}
Loop, parse, files, `n
{
	if a_index = 1
		MsgBox, The selected files are all contained in %A_LoopField%.
	else
	{
		MsgBox, 4, , The next file is %A_LoopField%.  Continue?
		IfMsgBox, No, break
	}
}
return


AutoHotKey(오토핫키) 설명서 FileRemoveDir

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

FileRemoveDir

폴더를 삭제한다

FileRemoveDir, DirName [, Recurse?]

Parameters

인수명설명
DirName 폴더의 패스.
상대 패스로 지정했을 경우는,%A_WorkingDir%(을)를 기준으로 한 패스가 된다.
Recurse? 「1」(을)를 지정하면, 안의 파일이나 폴더마다 삭제한다.(deltree커멘드와 같은 동작)
생략시나 「0」(을)를 지정했을 때는, 폴더가 하늘 때 마셔 삭제한다.

ErrorLevel

성공시는 「0」, 실패시나, 폴더가 하늘은 아니기 때문에 삭제하지 않았던 경우는 「1」.

Related

FileCreateDir, FileDelete

Example(s)

FileRemoveDir, C:\Download Temp
FileRemoveDir, C:\Download Temp, 1


AutoHotKey(오토핫키) 설명서 FileRecycleEmpty

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

FileRecycleEmpty

쓰레기통을 비운다

FileRecycleEmpty [, DriveLetter]

Parameters

인수명설명
DriveLetter 「C:\」등의 드라이브를 지정.
생략시는, 모든 드라이브가 대상이 된다.

ErrorLevel

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

Remarks

IE4이행이 필요.

Related

FileRecycle, FileDelete, FileCopy, FileMove

Example(s)

FileRecycleEmpty, C:\