예지력

오토핫키는 GUI(Graphical User Interface) 를 쉽게 사용할 수 있습니다.

단순히 입력명령어들로만 매크로를 제작할수있지만, 보다 직관적인 프로그램을 위해서는 인터페이스가 제공되어야겠죠

또한 기본 윈도우 외관에서 벗어나, 아래처럼 새로운 스킨들로 개성있는 인터페이스창을 만들수있습니다.

 

필요한 파일

ㅡ USkin.dll 파일이 필요합니다 여기를 클릭해 다운로드하세요.

ㅡ 테마(스킨)파일이 필요합니다, 위 링크에 'skin.zip' 을 다운받으세요.

ㅡ 라이브러리 함수가 필요합니다. AutoHotkey/Lib 폴더 혹은 자신의 소스코드와 동일한 경로에 두세요.

SkinForm(Param1 = "Apply", DLL = "", SkinName = ""){
    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")
        }
}

SkinForm.ahk

GUI 창에 적용하기

USkin.dll 은 기본 GUI의 외관 리소스파일들을 교체함으로서, 오토핫키 문법에 아무런 영향을 주지 않습니다.

따라서, DllCall로 USkin.dll의 함수를 꺼내쓰고 기존의 코드는 수정할것이없습니다.

스크립트 최상단에 아래의 코드를 입력하세요, 모든 GUI의 리소스파일이 테마파일로 교체됩니다.

SkinForm(Apply, A_ScriptDir . "\USkin.dll", A_ScriptDir . "\스킨파일명.msstyles")

GUI창을 닫을떄, 핸들이 새는것을 막기위해 USkin.dll 을 종료해야합니다

SkinForm(0)

아래 코드는 'Milkymac.msstyles' 스킨을 사용하는 GUI 예제입니다.

#NoEnv
#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")
        }
}

예제.ahk

 

스킨파일(.msstyles) 이 많아 하나하나 확인해보고싶은데 너무 귀찮으시죠? 각 스킨을 미리보기로 미리보는 '프리뷰' 프로그램을 사용하세요

USkin.dll이 있는 폴더에서 실행하세요!

프리뷰.zip

저작자 표시 비영리 동일 조건 변경 허락
신고
댓글 로드 중…

블로그 정보

예지력 - 예지력

프로그래밍, 영화 블로그

최근에 게시된 글

티스토리 툴바