상세 컨텐츠

본문 제목

AHK(Autohotkey)를 업무에 활용하기 (프랑슘 키보드로 디버그 하기)

자작프로그램/AHK-PC

by Rahs 2017. 3. 16. 13:23

본문















부제는 덱 프랑슘 키보드(DECK CBL87N) F11 F12 좀 쉽게 누르기 정도가 되겠습니다.



Visual Studio 환경에서 개발을 하다보니 필연적으로 F11키와 F12키에 대한 접근성이 요구가 되는데,


덱 프랑슘 키보드를 사용해보신 분 아시겠지만 매크로 토글키가 F11 위치에, 그리고 Pn 키가 F12 위치에 있어서,


F11키를 누르려면 Fn키 + 매크로 토글 키를.. F12키를 누르려면 심지어 Fn키 + ESC 키를 눌러야만 합니다.


아래 사진 보시면 감이 오실텐데.. 디버그 할 때 얼마나 불편할지 짐작이 되실 겁니다.





그래서,


AHK를 이용해서 간단하게 F9 ~ F12를 각 Alt+1부터 Alt+4까지 키 리맵핑을 했습니다.


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.

#SingleInstance

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.


!1::

Send, {F9}

return


^+!1:: ; Ctrl + Shift + F9 모든 브레이크 포인트 해제

Send, ^+{F9}

return


; Ctrl + F9 현위치 설정된 브레이크 포인트 해제

^!1::

Send, ^{F9}

return


!2::

Send, {F10}

return


^!2:: ; Ctrl + F10 커서가 있는 곳까지 실행

Send, ^{F10}

return


!3::

Send, {F11}

return


+!3:: ; Shift + F11 현 함수 빠져나감

Send, +{F11}

return


!4::

Send, {F12}

return


이래놨더니, PC를 켤 때마다 이걸 실행시켜야 하는 겁니다.


해서, 이걸 시작 프로그램에 넣으려고 생각해봤더니..


그럼 나중에 다른 자동화 프로그램을 추가하게 되면..? 이라는 생각이 드는 겁니다.


파일 하나에 계속 기능을 추가해도 되겠지만, 필요에 따라 좀 켜고 끄고 할 수가 있었으면 좋겠다는 생각이 든 거죠.



그래서,


아래와 같은 경로를 생성한 뒤에 위 스크립트의 소스와 실행파일을 targets 폴더 안에 넣어주었습니다.


.../메인 스크립트 위치/targets


그리고 메인 스크립트 위치에 아래 스크립트의 소스와 실행파일을 넣어주었습니다.


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.

#SingleInstance

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


Loop Files, %A_ScriptDir%\targets\*.exe

{

Run, %A_LoopFileFullPath%

}

ExitApp



그리고 이 메인 스크립트(가칭)의 실행파일의 바로가기를 만들어서 윈도우 시작프로그램에 등록해주었습니다.



이제 부팅될 때마다 이 메인 스크립트가 동작을 합니다.


스스로가 위치한 폴더 바로 아래의 targets 폴더를 뒤져서 안에 있는 exe파일을 모조리 1번씩 실행시키고,


스스로는 종료시키는 스크립트입니다.



이제 별도 스크립트가 필요할 경우,


저는 저 targets 폴더 안에 실행파일을 추가해주기만 하면 되는 겁니다*ㅁ*



뭐, 추가했는데 안 쓰게 된 target 스크립트가 생긴다면, 그냥 경로를 옮겨주거나, exe파일만 지워주면 되는 거고,


다시 필요해지면 컴파일만 하면 다음 부팅 때부터 다시 실행이 되는 거니까 관리하기가 한결 쉬워지는 이점이 있거든요!!


라고 생각합니다.



혹시 더 좋은 방법 있으신 분 계시면 댓글로 깨우쳐 주시면 감사드리겠습니다 :)


이만 총총..

관련글 더보기

댓글 영역