요즘 같은 시대에 컴퓨터 활용 능력은 아무리 강조해도 부족하지 않을 것 같습니다. 최근에는 많은 아이들이 코딩 교육을 받고 있고 점점 소프트웨어 교육이 의무화 되고 있습니다. 4차 산업 혁명이라는 말은 이제 들어 본지 꽤 오래된 것 같고 아직까지는 생활 속에서 4차 산업 혁명으로 인한 변화가 그리 크지 않아 보이지만 어느 순간이 되면 급격하게 세상이 달라질 거라고 생각합니다. 개인적으로는 4차 산업혁명 시대에는 극단적인 생산성 향상이 일어나는 시대가 될 거라고 생각합니다. 이런 시대에 기계와 대화를 하는 기술인 소프트웨어를 모른다면 경쟁력이 떨어지는 것은 불 보듯 뻔하다고 생각합니다.

드루킹 사건이나 최근에는 한나라당 매크로 사용 뉴스 등으로 인하여 요즘 많은 분들이 매크로에 대해서 많이들 들어 보셨을텐데 매크로란 일련의 작업을 자동화하는 소프트웨어 이고 좋은 의도로 사용한다면 굉장히 크게 자신의 업무 효율을 높일 수가 있습니다. 윈도우에서 사용가능한 대표적인 매크로 프로그램으로는 Autohotkey 나 AutoIt 과 같은 프로그램들이 있습니다.

저는 Autohotkey 를 굉장히 많이 사용하는 편인데 Autohotkey 는 단순히 매크로로만 치부하기에는 너무나 다재 다능한 컴퓨터 언어라고 볼 수 있을 것 같습니다. Autohotkey 를 사용하기 위한 공부는 다른 컴퓨터 언어에 비해서 비교적 쉬운 편이지만 그래도 아무것도 모르는 상태에서 공부를 하는 경우 시간이 꽤 걸릴 거라고 생각합니다. 이런 경우에는 프로그래밍을 조금 더 쉽게 해주는 도구들을 사용하는 것도 좋을 것 같네요.

그중에서 Autohotkey 를 조금 더 쉽게 사용할 수 있게 해주는 도구로써 Pulover's Macro Creator 를 추천드립니다. Autohotkey 를 처음 사용하는 경우 아래 주소의 AutoHotkey Beginner Tutorial 을 따라해 보는 것을 추천드리고

https://autohotkey.com/docs/Tutorial.htm

Autohotkey 의 기본 사용법을 공부한 이후에 Pulover's Macro Creator 를 사용해 보라고 권해 드리고 싶습니다. Pulover's Macro Creator 는 다음과 같이 생겼습니다. 처음에 보면 조금 복잡해 보이지만 시간의 여유를 가지고 조금씩 습득해 보신다면 어떤 프로그램 보다도 생산성 향상에 큰 도움이 될 것입니다.

저는 아래 포스팅에서 이미지서치 와 관련된 내용에 대해서 소개를 했었는데 이미지의 중간 지점을 클릭 하기 위한 함수인 CenterImgSrchCoords() 함수를 Pulover's Macro Creator 를 사용하면서 알게 되었습니다.

http://iamaman.tistory.com/2111

Pulover's Macro Creator 의 홈페이지는 아래 주소와 같고 download 페이지에서 Pulover's Macro Creator 프로그램을 다운로드할 수 있습니다.

http://www.macrocreator.com/

http://www.macrocreator.com/download/

그리고 위의 홈페이지에서 Help & Tutorials 메뉴를 클릭 해서 보시면 Pulover's Macro Creator 의 사용 방법에 대한 개발자의 동영상 강좌를 보실 수가 있습니다.

http://www.macrocreator.com/help/

많이 사용하시는 마이크로소프트 오피스 제품 중에서 워드나 엑셀에 대한 자동화 등을 배울 수 있고 이미지서치 등을 통해서 웹을 어떻게 자동화 하는지도 배울 수 있습니다. 위 주소에서 나오는 동영상에 나오는 기술들만 제대로 습득 한다면 윈도우 사용 과정에서의 대부분의 것들은 자동화 할수 있을 것이라고 생각합니다.



  1. jetree 2018.09.27 19:58

    좋은 글 잘 보고 있어요. 강좌들 고맙습니다. 그런데, CenterImgSrchCoords 의 경우 Pulover's macro creator외에 사용할 경우 에러가 발생하네요.

    오토핫키 포럼에서 찾아보니
    If you know what's the meaning of "CenterImgSrchCoords()",pls tell us to help you further.라고 하네요.

    macro creator에서만 사용가능한 것인지 궁금합니다.

    • 남성 2018.09.27 21:40 신고

      코드 생성해서 함수를 확인해 보면 일반적인 Autohotkey 코드로 되어 있으므로 툴 디펜던트한 코드는 아닙니다. 저도 macro creator 아닌데서도 잘 사용하고 있구요.

  2. 뚜두 2019.03.26 12:17

    pmc(pulover's macro creator)가 오토핫키 언어로 이루어져있다고하던데 그럼 pmc에서 나오는 소스코드를 오토핫키에 그대로 복사해서 실행하면 실행가능한가요?
    컴파일해서 사용하고싶은데 pmc는 컴파일을 지원하지 않는거같아서요 ㅠㅠ

    • 남성 2019.03.26 13:22 신고

      Pulover's Macro Creator 에 ahk 로 내보내기 해서 사용하면 됩니다.

    • 뚜두 2019.03.26 13:28

      그럼제가 이미지서치 이용하는데 스크린샷은 그대로 두어도 되는건가요?
      ahk로 내보내기 하는 방법도 알려주시면 감사하겠습니다 ㅠㅠ

    • 남성 2019.03.26 21:59 신고

      file 메뉴 보면 export to AHK 라고 있습니다.

Autohotkey 를 사용하면  화면의 이미지를 검색하고 클릭하는 등의 작업을 할 수 있습니다. 이러한 작업을 하기 위해서는 Autohotkey 의 ImageSearch 함수를 사용하면 됩니다.   


ImageSearch 함수를 사용하기 위해서는 먼저 찾고자 하는  이미지를 캡쳐 해야 합니다. 윈도우 키를 누른 후에 캡처라고  타이핑 해 보면 캡처 도구가 나옵니다. 캡처 도구를 실행한 후에 검색할 이미지 부분을 캡처 합니다.  제 개인적인 경험에 의하면 아래 포스팅에서 소개했던 prtscr 프로그램을 사용해서 캡처 하는 경우 autohotkey 이미지서치 기능이 정상적으로 동작하지 않는 경우가 있었습니다.


http://iamaman.tistory.com/630



그래서 저는 오토핫키 ImageSearch 기능을 사용하는 경우에는 윈도우 캡처 도구를 사용합니다. 그리고  캡쳐 완료 후에는 해당 이미지를 파일로 파일로 저장 합니다.

아래 코드 예는 구글문서의 음성 인식 마이크를 클릭하는 예 입니다. 윈도우 캡처 도구를 사용하여 마이크 모양에 대한 이미지 부분을 캡처 했고 "C:\캡처.PNG" 경로에 저장했습니다.

#NoEnv

SetWorkingDir %A_ScriptDir%

#SingleInstance Force


CoordMode,Pixel, Screen

CoordMode,Mouse, Screen


ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\캡처.PNG

If ErrorLevel = 0

{

Click, %FoundX%, %FoundY% Left, 1

}  


ExitApp


위 코드를 실행해 보면 이미지의 좌측 상단  부분으로 마우스 커서가 이동하는 것을 확인할 수 있습니다.


보통의 경우 이미지  서치는 마우스클릭을 하기 위해 동작시키는 것이므로 이미지의  중간 부분을 검출에 되는 것이 편할 겁니다.

이를 위해서는 다음과 같은 코드를 사용하면 됩니다 아래 코드에서 CenterImgSrchCoords() 함수 부분은 Pulover's Macro Creator 를 사용하여 생성한 코드 부분 입니다.

에서 생성한 부분입니다.  

#NoEnv

SetWorkingDir %A_ScriptDir%

#SingleInstance Force


CoordMode,Pixel, Screen

CoordMode,Mouse, Screen


CenterImgSrchCoords(File, ByRef CoordX, ByRef CoordY)

{

static LoadedPic

LastEL := ErrorLevel

Gui, Pict:Add, Pic, vLoadedPic, %File%

GuiControlGet, LoadedPic, Pict:Pos

Gui, Pict:Destroy

CoordX += LoadedPicW // 2

CoordY += LoadedPicH // 2

ErrorLevel := LastEL

}


ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\캡처.PNG

CenterImgSrchCoords("C:\캡처.PNG", FoundX, FoundY)

If ErrorLevel = 0

{

Click, %FoundX%, %FoundY% Left, 1

}


ExitApp


CenterImgSrchCoords() 함수의 코드를 확인해 보면 이미지를 로드 한 후에 가로, 세로  폭을 알아내고 해당  폭의 절반을 이미지검색 초기값에  더 해 주는 것을 확인할 수 있습니다.


위 코드를 실행해 보면 다음과 같이 마우스 커서가 검색된 이미지의 중간 부분을 클릭하는 것을 확인 할 수 있습니다.



  1. 2018.03.05 20:42

    비밀댓글입니다

    • 남성 2018.03.05 20:54 신고

      솔직히 질문이 정확히 이해가 안 되네요.
      조금 더 구체적으로 질문해 주셨으면 좋겠습니다.
      구조적으로 비정형화된 텍스트 파일을 매트랩에서 읽고 싶다는 건가요?

+ Recent posts