블로그 글 복사하면, 티의 이야기(ㅎㅎ)가 금지어라서 이미지와 다운로드링크를 새로 적어야하더군요.
떄문에 글이 좀 난잡해졌습니다. 원본 글 읽으시길 추천합니다 http://me2.do/GoveZZiz
오토핫키는 GUI(Graphical User Interface) 를 쉽게 사용할 수 있습니다.
단순히 입력명령어들로만 매크로를 제작할수있지만, 보다 직관적인 프로그램을 위해서는 인터페이스가 제공되어야겠죠
또한 기본 윈도우 외관에서 벗어나, 아래처럼 새로운 스킨들로 개성있는 인터페이스창을 만들수있습니다.
?
ㅡ USkin.dll 파일이 필요합니다 여기를 클릭해 다운로드하세요.
ㅡ 테마(스킨)파일이 필요합니다, 위 링크에 'skin.zip' 을 다운받으세요.
ㅡ 라이브러리 함수가 필요합니다. AutoHotkey/Lib 폴더 혹은 자신의 소스코드와 동일한 경로에 두세요.
? ? if(Param1 = Apply){
? ? ? ? DllCall("LoadLibrary", str, DLL)
? ? ? ? DllCall(DLL . "\USkinInit", Int,0, Int,0, AStr, SkinName) ; For?유니코드
??????? ;DllCall(DLL . "\USkinInit", Int,0, Int,0, Str, SkinName) ; For?ANSI
??? }else if(Param1 = 0){
? ? ? ? DllCall(DLL . "\USkinExit")
? ? ? ? }
}
USkin.dll 은 기본 GUI의 외관 리소스파일들을 교체함으로서, 오토핫키 문법에 아무런 영향을 주지 않습니다.
따라서, DllCall로 USkin.dll의 함수를 꺼내쓰고 기존의 코드는 수정할것이없습니다.
스크립트 최상단에 아래의 코드를 입력하세요, 모든 GUI의 리소스파일이 테마파일로 교체됩니다.
GUI창을 닫을떄,?핸들이?새는것을 막기위해 USkin.dll 을 종료해야합니다
아래 코드는 'Milkymac.msstyles' 스킨을 사용하는 GUI 예제입니다.
#SingleInstance force
SkinForm(Apply, A_ScriptDir . "\USkin.dll", A_ScriptDir . "\Milikymac.msstyles")
OnExit, GetOut
Gui, add, button,xm w100 h40, Button
Gui, add, edit, xm y+20 w100 h20, Edit
Gui, add, listbox,xm y+20, ListBox
Gui, add, checkbox,xm y+20, checkbox
Gui, add, DDL, xm y+20, DropDownList
Gui, Show, AutoSize, Test
return
GetOut:
GuiClose:
Gui, Hide
SkinForm(0)
ExitApp
return
SkinForm(Param1 = "Apply", DLL = "", SkinName = ""){
? ? if(Param1 = Apply){
? ? ? ? DllCall("LoadLibrary", str, DLL)
? ? ? ? DllCall(DLL . "\USkinInit", Int,0, Int,0, AStr, SkinName)
? ? }else if(Param1 = 0){
? ? ? ? DllCall(DLL . "\USkinExit")
? ? ? ? }
}
좋은 글 감사합니다!