메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

AHK → AutoIt 완전 이식 방법: 두 판 사이의 차이

데브카페
새 문서: == AutoHotkey (AHK) 스크립트를 AutoIt으로 완전히 이식(변환) == AutoHotkey (AHK) 스크립트를 **AutoIt으로 완전히 이식(변환)**하는 것은 언어 문법 차이가 크기 때문에 단순 변환이 불가능한 경우도 많지만, 대부분의 핫키 매핑, 키보드/마우스 제어, GUI, MsgBox, Send 등은 충분히 AutoIt으로 변환 가능합니다. ⸻ ✅ 1. 기본 문법 비교 (핫키 중심) 기능 AHK 예시 AutoIt 등가 코드 키 매...
 
편집 요약 없음
 
1번째 줄: 1번째 줄:
== AutoHotkey (AHK) 스크립트를 AutoIt으로 완전히 이식(변환) ==
== AutoHotkey (AHK) 스크립트를 AutoIt으로 완전히 이식(변환) ==
AutoHotkey (AHK) 스크립트를 **AutoIt으로 완전히 이식(변환)**하는 것은 언어 문법 차이가 크기 때문에 단순 변환이 불가능한 경우도 많지만,
* AutoHotkey (AHK) 스크립트를 **AutoIt으로 완전히 이식(변환)**하는 것은 언어 문법 차이가 크기 때문에 단순 변환이 불가능한 경우도 많지만,
대부분의 핫키 매핑, 키보드/마우스 제어, GUI, MsgBox, Send 등은 충분히 AutoIt으로 변환 가능합니다.
대부분의 핫키 매핑, 키보드/마우스 제어, GUI, MsgBox, Send 등은 충분히 AutoIt으로 변환 가능합니다.


=== 기본 문법 비교 (핫키 중심) ===


✅ 1. 기본 문법 비교 (핫키 중심)
# 기능 AHK 예시 AutoIt 등가 코드
키 매핑 (예: CapsLock → F13)
#:<source lang=autoit>
CapsLock::F13 후킹 또는 HotKeySet("{CAPSLOCK}", ...) + _WinAPI_Keybd_Event()
</source>
# 메시지박스
#:<source lang=autoit>
MsgBox, Hello MsgBox(0, "", "Hello")
</source>
# 키보드 입력
#:<source lang=autoit>
Send, Hello Send("Hello")
</source>
# 키보드 단축키 핸들링
#:<source lang=autoit>
^j::MsgBox, Ctrl+J pressed! HotKeySet("^j", "myFunc")
</source>
# 무한 루프 유지
#:<source lang=autoit>
#Persistent While 1 ... WEnd
</source>


기능 AHK 예시 AutoIt 등가 코드
키 매핑 (예: CapsLock → F13) CapsLock::F13 후킹 또는 HotKeySet("{CAPSLOCK}", ...) + _WinAPI_Keybd_Event()
메시지박스 MsgBox, Hello MsgBox(0, "", "Hello")
키보드 입력 Send, Hello Send("Hello")
키보드 단축키 핸들링 ^j::MsgBox, Ctrl+J pressed! HotKeySet("^j", "myFunc")
무한 루프 유지 #Persistent While 1 ... WEnd




 
=== 변환 예제 ===
==== AHK 스크립트 (예제) ====
 
✅ 2. 변환 예제
 
🔹 AHK 스크립트 (예제)
<source lang=autoit>
<source lang=autoit>


30번째 줄: 40번째 줄:




==== AutoIt 변환 ====
 
🔧 AutoIt 변환
<source lang=autoit>
<source lang=autoit>


59번째 줄: 67번째 줄:
</source>
</source>


 
==== AHK → AutoIt 변환 요령 ====
 
* AHK 문법 AutoIt 대응 전략
 
✅ 3. AHK → AutoIt 변환 요령
 
AHK 문법 AutoIt 대응 전략
<source lang=autoit>
<source lang=autoit>


80번째 줄: 83번째 줄:




==== AutoHotkey에서 자주 쓰는 키코드 ====
 
* AHK와 AutoIt은 가상 키 코드를 동일하게 사용하므로 그대로 이식 가능:
✅ 4. AutoHotkey에서 자주 쓰는 키코드
<source lang=autoit>
 
AHK와 AutoIt은 가상 키 코드를 동일하게 사용하므로 그대로 이식 가능:
 
키 이름 AHK / AutoIt 키코드
키 이름 AHK / AutoIt 키코드
F13 0x7C
F13 0x7C
91번째 줄: 91번째 줄:
… …
… …


</source>




==== 이식 어려운 AHK 기능 ====
 
* AHK 기능 AutoIt 이식 난이도 대체 방법
✅ 5. 이식 어려운 AHK 기능
# 표현식 내장 핫키 정의 어려움 함수 정의 + 핫키 매핑 필요
 
# GUI 속성의 유연한 바인딩 어려움 GUICtrlSet* 함수로 구현 가능
AHK 기능 AutoIt 이식 난이도 대체 방법
# InputHook, ComObject 어려움 .NET DLL 또는 WinAPI 필요
표현식 내장 핫키 정의 어려움 함수 정의 + 핫키 매핑 필요
# 저수준 후킹 + 리턴 처리 어려움 SetWindowsHookEx 직접 구현
GUI 속성의 유연한 바인딩 어려움 GUICtrlSet* 함수로 구현 가능
InputHook, ComObject 어려움 .NET DLL 또는 WinAPI 필요
저수준 후킹 + 리턴 처리 어려움 SetWindowsHookEx 직접 구현
 
 




✅ 6. 추천 변환 전략
==== 추천 변환 전략 ====
1. 핫키나 간단한 매핑 → HotKeySet + _WinAPI_Keybd_Event
# 핫키나 간단한 매핑 → HotKeySet + _WinAPI_Keybd_Event
2. Send 입력 → Send() 또는 _WinAPI_Keybd_Event()
# Send 입력 → Send() 또는 _WinAPI_Keybd_Event()
3. 루프 처리 → While True 루프
# 루프 처리 → While True 루프
4. 복잡한 GUI나 시스템 제어 → AutoIt 전용 라이브러리 활용
# 복잡한 GUI나 시스템 제어 → AutoIt 전용 라이브러리 활용




✅ 필요하시면 도와드릴 수 있는 것
=== 관련 사항 ===
AHK 스크립트 전체를 AutoIt으로 변환 (예제 보내주시면 됩니다)
* AHK 스크립트 전체를 AutoIt으로 변환 (예제 보내주시면 됩니다)
AHK 기능을 AutoIt으로 구현한 함수 템플릿 모음 제공
* AHK 기능을 AutoIt으로 구현한 함수 템플릿 모음 제공
AutoIt GUI로 AHK 매핑을 조정할 수 있는 유틸리티 제작
* AutoIt GUI로 AHK 매핑을 조정할 수 있는 유틸리티 제작


[[category:autoit]]
[[category:autoit]]

2025년 7월 22일 (화) 08:36 기준 최신판

AutoHotkey (AHK) 스크립트를 AutoIt으로 완전히 이식(변환)

  • AutoHotkey (AHK) 스크립트를 **AutoIt으로 완전히 이식(변환)**하는 것은 언어 문법 차이가 크기 때문에 단순 변환이 불가능한 경우도 많지만,

대부분의 핫키 매핑, 키보드/마우스 제어, GUI, MsgBox, Send 등은 충분히 AutoIt으로 변환 가능합니다.

기본 문법 비교 (핫키 중심)

  1. 기능 AHK 예시 AutoIt 등가 코드

키 매핑 (예: CapsLock → F13)

  1. CapsLock::F13	후킹 또는 HotKeySet("{CAPSLOCK}", ...) + _WinAPI_Keybd_Event()
  2. 메시지박스
    MsgBox, Hello	MsgBox(0, "", "Hello")
  3. 키보드 입력
    Send, Hello	Send("Hello")
  4. 키보드 단축키 핸들링
    ^j::MsgBox, Ctrl+J pressed!	HotKeySet("^j", "myFunc")
  5. 무한 루프 유지
    #Persistent	While 1 ... WEnd


변환 예제

AHK 스크립트 (예제)


CapsLock::F13
^j::MsgBox, Ctrl+J pressed!
#Persistent


AutoIt 변환


#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>

; CapsLock → F13
HotKeySet("{CAPSLOCK}", "_SendF13")

; Ctrl+J 단축키
HotKeySet("^j", "_CtrlJ")

While True
    Sleep(100)
WEnd

Func _SendF13()
    _WinAPI_Keybd_Event(0x7C, 0, 0, 0) ; Key Down (F13)
    _WinAPI_Keybd_Event(0x7C, 0, 2, 0) ; Key Up
EndFunc

Func _CtrlJ()
    MsgBox(0, "AHK → AutoIt", "Ctrl+J pressed!")
EndFunc

AHK → AutoIt 변환 요령

  • AHK 문법 AutoIt 대응 전략

:: 형태 단축키	HotKeySet() 사용 + 함수 작성
Send, ...	Send("...") 또는 _WinAPI_Keybd_Event()
MsgBox, ...	MsgBox()
#Persistent	While True ... WEnd
Loop	For, While
SetTimer	AdlibRegister() 또는 TimerDiff() 사용
WinActivate	WinActivate()
MouseClick	MouseClick()


AutoHotkey에서 자주 쓰는 키코드

  • AHK와 AutoIt은 가상 키 코드를 동일하게 사용하므로 그대로 이식 가능:
키 이름	AHK / AutoIt 키코드
F13	0x7C
F14	0x7D
…	…


이식 어려운 AHK 기능

  • AHK 기능 AutoIt 이식 난이도 대체 방법
  1. 표현식 내장 핫키 정의 어려움 함수 정의 + 핫키 매핑 필요
  2. GUI 속성의 유연한 바인딩 어려움 GUICtrlSet* 함수로 구현 가능
  3. InputHook, ComObject 어려움 .NET DLL 또는 WinAPI 필요
  4. 저수준 후킹 + 리턴 처리 어려움 SetWindowsHookEx 직접 구현


추천 변환 전략

  1. 핫키나 간단한 매핑 → HotKeySet + _WinAPI_Keybd_Event
  2. Send 입력 → Send() 또는 _WinAPI_Keybd_Event()
  3. 루프 처리 → While True 루프
  4. 복잡한 GUI나 시스템 제어 → AutoIt 전용 라이브러리 활용


관련 사항

  • AHK 스크립트 전체를 AutoIt으로 변환 (예제 보내주시면 됩니다)
  • AHK 기능을 AutoIt으로 구현한 함수 템플릿 모음 제공
  • AutoIt GUI로 AHK 매핑을 조정할 수 있는 유틸리티 제작

Comments