아래 포스팅에서 Autohotkey 의 argument 를 사용하는 방법에 대해 소개한 적이 있습니다. Autohotkey 에서 기존의 방법으로 argument 처리를 해 본 분들은 아시겠지만 %0%, %1% 등으로 표현이 되서 약간 이해가 쉽지 않았던게 사실 입니다.

https://iamaman.tistory.com/1635

그런데 최근에 아래 주소의 Autohotkey 문서를 다시 보다보니~ 1.1.27 버전 부터 A_Args 라는 키워드가 생긴것을 확인 할 수 있었습니다.

https://www.autohotkey.com/docs/Scripts.htm#cmd

이렇게 보니 이제 다른 프로그래밍 언어들과 그 사용방법이 거의 차이가 없는것 같네요~

Autohotkey help 문서에 있는 아래와 같은 예제를 한번 돌려보면 그냥 바로 이해가 되실 겁니다.

arg1 := A_Args[1] ; 첫번째 parameter

arglen := A_Args.Length() ; parameter 길이

MsgBox arg length : %arglen%

MsgBox arg1 : %arg1%

for n, param in A_Args ; For each parameter:

{

MsgBox Parameter number %n% is %param%.

}

위 코드에서 보시는 바와 같이 대괄호 인덱스를 사용하여 각 parameter 값을 얻을 수 있고~ Length() 함수를 통해 argument 의 갯수를 알 수 있습니다.

위 코드를 실행하기 위해서는 cmd 창이나 Powershell 과 같은 터미널에서 argument 를 줘야하는데~ 아래 그림과 같이 argument 들은 공백으로 구분을 하고 argument 에 공백이 포함된 경우에는 따옴표(“) 로 묶어 줘야 합니다.

그런데 이렇게 CMD 창에 실행하는건 불편하니까~ argument 가 있는 Autohotkey 코드를 개발 할 때는 scite4autohotkey 에서 View -> Parameters (Shift + F8)창을 열어서 사용하면 편리합니다. 


아래 화면은 보시는 바와 같이 3개의 argument 를 설정한 예입니다. Set 을 누르면 Parameters 창은 사라지고 scite4autohotkey 에디터에서 Run 을 눌러주면 해당 Parameters 들이 순서대로 입력 되게 됩니다.

argument 는 보통 Drag & Drop 을 통해서도 입력 할 수 있는데 위 링크의 문서를 보면 ~ NTFS 파일 시스템에서 8-dot-3 이름이 해제된 경우에는 Drag & Drop 이 실패 할수 있다고 하더군요. 이런 경우에는 해당 Autohotkey 파일을 compile 해서 실행파일(exe) 로 만들면 된다고 합니다.

8-dot-3 (short) name 이 뭔가 해서 검색을 조금 해 보니 오래된 도스 버전에서 사용하던 이름 규칙이라고 하네요.

https://ko.wikipedia.org/wiki/8.3_파일_이름

뭐 그럴일은 별로 없겠지만~ 아래 문서를 보니 fsutil.exe 를 사용하여 8-dot-3 (short) name 기능을 Enable, Disable 할 수 있다고 합니다.

https://support.microsoft.com/en-us/help/121007/how-to-disable-8-3-file-name-creation-on-ntfs-partitions



Autohotkey 를 사용하다보면 한글 키보드에만 있는 특수키들을 사용하여 단축키를 만들고 싶은 경우가 있습니다. 이러한 경우엔 당연히 특수키에 대한 키코드를 알아야 됩니다. 그래서 오늘은 키코드 확인 하는 방법에 대해서 소개해 보려 합니다.

요즘에는 한자를 사용할 일이 그렇게 많이 없다 보니 스페이스바 왼쪽 옆에 있는 한자키를 거의 사용을 하지 않습니다. 그래서 저는 한자키를 다른 키와 조합해서 Autohotkey 로 단축키를 만들어서 사용하곤 합니다. 키코드를 알기 위해서는 Autohotkey KeyHistory 를 보면 되는데 KeyHistory 는 두가지 방법으로 접근 가능합니다.

1. 코드를 사용한 접근 방법

아래의 Autohotkey 코드를 실행 시킨후에 한자 키를 몇 번 누르고 h 버튼을 누릅니다.

h:: ; KeyHistory 실행 단축키 : h

KeyHistory

return

esc::exitapp ; 종료 : esc

그러면 다음과 같이 KeyHistory 창이 나타나게 됩니다. 저는 위 코드를 실행 하고~ 한자키를 3 번 누른 후에 h 버튼을 눌러서 KeyHistory 창을 나타나게 했습니다. 아래 그림에서 확인할 수 있는 바와 같이 제가 사용하는 키보드에 한자키의 키코드는 VK 19, SC1F1 입니다. 이 중에서 SC1F1 을 단축키로 설정 하면 되는 것입니다.

아래는 한자키와 그 옆에 있는 Alt 키를 사용하여 단축키를 설정해 본 것입니다. 아래 Autohotkey 코드를 실행 한 후에 왼쪽 Alt 키와 한자키를 동시에 누르면 메모장이 실행 되는 것을 확인할 수 있습니다.

~LAlt & sc1F1::

run notepad.exe

return

2. 윈도우 작업바에서 현재 실행되고 있는 오토핫키 아이콘에서 오른쪽 클릭을 하고 나오는 메뉴에서 Open 을 클릭합니다.


그럼 다음과 같은 창이 나타나는데 위에 메뉴 중에 View -> Key History And Script Info 를 클릭하거나 Ctrl + K 를 눌러서 KeyHistory 창을 실행 시킬 수 있습니다.

키코드를 알아내고자 하는 키를 몇 번 누른 후에 F5 키를 눌러서 새로고침을 하면 1 번에서의 결과와 마찬가지로 키코드를 알아낼 수 있습니다.



+ Recent posts