이전 포스팅에서 말씀 드린 데로 저는 Autohotkey 가 없으면 윈도우를 제대로 사용하지 못 할 정도로 Autohotkey 를 좋아합니다.
컴퓨터에 대한 배경 지식이 별로 없어서 dllcall() 등에 대해서는 아직까지도 이해가 안 되는 내용들이 많지만~ 그래도 꾸준히 관심을 가지고 있는데요
최근에 Autohotkey basic 에서 Autohotkey_L 로 넘어 오게 되었습니다.
Autohotkey basic 에 비해 Autohotkey_L 에서는 객체 지향적인 부분에서 특히 두드러진 특징이 있는 것 같더군요.
배열이나 COM object 등도 지원을 하고 해서 참~~ 배울 게 많은 것 같더군요.
그런데 지금까지 Autohotkey_L 로 넘어오고 싶어도 선뜻 넘어오지 못했던 게 기존의 코드 중 일부가 안 돌아가는 경우가 있어서 입니다.
가장 큰 걸림돌은 인코딩 이더군요.
Autohotkey_L Unicode 를 사용 하면서 기존 코드의 인코딩이 바뀌면서 정상적으로 동작하지 않는 경우였습니다.
이렇게 안 되는 거 일일이 찾아서 바꾸는 게 좀 귀찮기도 하고 제대로 안돼서 기존의 편리함이 없어져 버릴까 걱정도 되고 하더군요.
제 코드 중에 뮤토렌트 실행과 관련한 코드 부분이 있는데~
이 부분이 Autohotkey_L 로 넘어오면서 정상적으로 안 됐습니다.
기존의 코드는 아래와 같습니다.
#k::
DetectHiddenWindows, On
IfWinExist, ahk_class μTorrent4823DF041B09
{
WinActivate, ahk_class μTorrent4823DF041B09
WinActivate
WinShow
}
else
{
Run, "C:\Program Files\uTorrent\uTorrent.exe"
WinWait, ahk_class μTorrent4823DF041B09
WinShow
WinActivate
}
return
위 코드는 μTorrent 가 실행 중에 있으면 화면에 보이게 하고 그렇지 않으면 실행 시키는 코드 입니다.
기존에 Autohotkey basic 에서는 굉장히 잘 동작했었죠~
그런데 Autohotkey_L 로 바뀌면서 정상적인 동작이 안 됐습니다.
몇 가지의 실험을 해보니 위 코드의 특수 문자인 μ 가 포함되어 있는 부분 때문이었습니다.
그래서 μ 부분 없이 torrent 프로그램을 인식 시키는 방법이 없을까 생각해 보다가 다음과 같은 코드를 만들었습니다.
뭐 만족스럽지는 않지만 정상적으로 동작은 하네요.
SetTitleMatchMode 2
#k::
DetectHiddenWindows, On
IfWinExist, Torrent 3
{
WinActivate
WinShow
}
else
{
Run, "C:\Program Files\uTorrent\uTorrent.exe"
WinWait, Torrent 3
WinShow
WinActivate
}
Return
위 코드에서 SetTitleMatchMode 2 로 설정한 것은 제목의 일부라도 일치 하면 IfWinExist가 인식하도록 하기 위한 것입니다.
현재 제 뮤토렌트 버전은 3.1.2 이고 프로그램의 타이틀 바는 다음과 같이 구성되어 있습니다.
타이틀바에 다운로드 정도도 표시되도록 해서 사용하고 있는데~
이러한 부분은 계속 변하는 부분이어서 특정한 값으로 μTorrent 를 구분하기가 어렵기 때문에~~
제목 중에서 변하지 않는 부분의 일부인 Torrent 3이 타이틀에 있으면 인식하도록 설정한 것이죠.
향후의 버전 업데이트 될 때를 생각해서 그 뒤의 .1.2 부분은 제외를 시켰습니다.
Autohotkey_L 을 사용하면서 저와 같은 문제가 있으신 분들은 참조 하시길~
그리고 더 나은 솔루션이 있으신 분들은 댓글 좀 부탁 드립니다.
'programming language > Autohotkey' 카테고리의 다른 글
Autohotkey 로 윈도우 7 에서 찾기 명령 실행하기 (0) | 2012.06.13 |
---|---|
Autohotkey로 마우스 위치 pixel 의 색깔 확인 하기 (0) | 2012.06.09 |
Autohotkey_L Text to Speech (1) | 2012.05.21 |
Autohotkey_L 글자 보내기 Send (0) | 2012.05.16 |
Autohotkey Regular expression을 이용한 음악파일 이름 변경 (2) | 2012.04.19 |
Autohotkey로 인터넷 사전 이용하기 (0) | 2012.03.20 |
Autohotkey 로 제어판 다루기 (4) | 2012.03.17 |
Autohotkey를 사용해 보아요~ (0) | 2012.02.22 |
댓글