Autohotkey 를 사용한지는 꽤 오래 된것 같고 저는 보통 Autohotkey 를 설치할때 recommend 버전인 unicode 32 비트를 설치하곤 합니다. 그런데 최근에 Autohotkey dllcall 을 사용하여 msvcrt.dll 의 _i64toa 함수를 사용하다 보니 제가 설치한 unicode 32-bits Autohotkey 에서는 정상적으로 동작을 하지 않더군요. _i64toa 함수는 radix 를 변환하는 함수이고 보통 2 진수, 8 진수, 16 진수 등으로 변환하는데 사용하곤 합니다.
_i64toa 함수의 사용 예는 아래와 같습니다. 아래 예는 숫자 15를 16진수(Hexa) 값으로 변환하는 예인데~
decNumber := 15
radix := 16
VarSetCapacity(kk,65,0)
DllCall("msvcrt\_i64toa", "Int64", decNumber, "Str", kk, "Int", radix)
msgbox %kk%
실행을 해보면 아래와 같이 정상적으로 f 라는 값이 나오게 됩니다.
그런데 decNumber := 16 으로 하게 되면 아래와 같이 뭔지 알 수 없는 값이 나오게 되더군요.
여러가지 방법들을 시도하다 알게 된게~ Autohotkey 가 설치된 폴더(C:\Program Files\AutoHotkey)에 같이 들어있는 AutoHotkeyA32.exe 즉 ANSI 32-bit 를 사용하면 정상적으로 동작을 하더군요. decNumber := 16 인 경우에 대해 AutoHotkeyA32.exe 를 사용하여 실행해보면 아래와 같이 정상적인 Hexa 값을 얻을 수 있습니다.
Autohotkey 를 설치 할때 보면 아래와 같이 ANSI 32-bit 의 경우 legacy scripts 와의 호환성이 좋다고 나오고 따라서 기존 DLL 과 같이 좀 오래된 라이브러리를 사용하는 경우에는 ANSI 32-bit Autohotkey 를 사용하는게 적절할 듯 보입니다.
그런데 우리는 한글을 주로 사용하고 한글 정규 표현식 등을 사용한다면 unicode 버전을 사용하는게 좋으므로 제가 내린 결론은 unicode 32 비트 버전을 default 로 설치하고~ legacy scripts 를 사용할때만 선택적으로 ANSI 32-bit Autohotkey 를 사용하는게 적절할것 같습니다.
'programming language > Autohotkey' 카테고리의 다른 글
Autohotkey 편집기 scite4autohotkey 2 개 이상 여는 방법 (286) | 2019.07.05 |
---|---|
Autohotkey 를 사용하여 복사 붙여넣기를 잘 하는 다양한 방법 (413) | 2019.02.17 |
Autohotkey 비활성 창 자동화를 위한 준비, Spy 프로그램 다운로드, Window Detective (142) | 2019.02.11 |
미드 보면서 영어 공부하기, 카카오 팟플레이어에서 네이버 사전으로 단어 검색 하기 (150) | 2019.02.08 |
Autohotkey OCR 프로그램 Vis2 (using tesseract) (454) | 2018.11.28 |
Autohotkey 강좌, 이베스트증권 xingAPI 로 주식 현재가 가져오기 (439) | 2018.10.08 |
Autohotkey control 활성 유무 확인하기 ControlGet (432) | 2018.10.04 |
Autohotkey SendLevel 을 사용하여 다른 스크립트의 단축키 실행하기 (435) | 2018.09.22 |
댓글