본문 바로가기
programming language/Autohotkey

Autohotkey를 사용한 이트레이드 증권 HTS(E-TRADE Pro) 자동 로그인

by 남성 2016. 9. 3.

오늘은 Autohotkey 를 사용한 이트레이드 증권 자동 로그인 방법에 대해 소개 드리려 합니다.

 

아래 포스팅에서도 설명드렸지만 Autohotkey 를 사용하면 윈도우 프로그램들의 각 Control 들을 제어 할 수 있습니다.


2012/03/17 - [programming language/Autohotkey] - Autohotkey 로 제어판 다루기


 

E-TRADE Pro 를 실행 해보면 아래 화면과 같습니다.

 

저는 위 그림과 같이 고객 ID 는 저장을 해 놓은 상태로 비밀 번호와 공인인증만 Autohotkey 를 사용하여 로그인 합니다.

 

HTS 에 로그인 하기 위해서는 당연히 비밀 번호를 넣고~ 공인인증 번호를 넣고 마스터로 접속이라는 버튼을 눌러야 합니다.

 

일단 위 그림의 비밀번호 부분의 컨트롤이 뭔지를 확인해야겠죠.

 

윈도우를 설치한 폴더를 확인하면 아래 그림과 같이 AutoIt3 Window Spy 라는 프로그램이 있습니다. AutoIt3 Window Spy 를 실행 시키고~ 아래 그림과 같이 비밀 번호를 입력하는 부분에 마우스를 올리면~ 해당 control 에 대한 정보가 나옵니다.

 

비밀 번호를 입력하는 부분은 Edit2, 공인 인증을 입력하는 부분은 Edit3, 마스터로 접속이라는 버튼은 Button3 라는 것을 확인 할 수 있습니다.

 

 

이제 알아내야 할 정보는 다 알아 냈습니다.

 

다음과 같이 코딩만 하면 됩니다. 아래 코드 예는 Win + C 를 누르면 E*TRADE Pro HTS 가 샐행되면서~ 비밀번호와 공인인증 비밀번호가 입력되고~ 마스터로 접속 버튼을 클릭하게 됩니다. 아래 코드에서 파란 색으로 표시한 부분에 각자의 비밀번호를 넣어 주시기 바랍니다.

 

#c:: ; Win+ C

Run "C:\ETRADE\XingQ\xingqlogin.exe" ; HTS 실행

WinWait, E*TRADE Pro

WinActivate, E*TRADE Pro

ControlSendRaw, Edit2, 비밀번호,E*TRADE Pro ; 비밀번호 입력

Sleep, 100

ControlSendRaw, Edit3, 공인인증비밀번호,E*TRADE Pro ; 공인인증 비밀번호 입력

Sleep, 100

ControlClick, Button3, E*TRADE Pro ; 마스터로 접속 버튼 클릭

Return

 

위 Autohotkey 작성후에 Win+ C 를 눌러서 실행해 보면~ 다음 동영상에서 보는 바와 같이 E*TRADE Pro 가 실행되면서 간단하게 로그인 되는 것을 확인 할 수 있습니다.





최근에 몇몇 분들이 위 스트립트가 실행이 안된다고 해서 좀더 보완한 코드는 아래와 같습니다. 아래 코드는 현재 이베스트 HTS 에서는 확인을 했습니다. 미래에셋 카이로스에서도 비슷하게 하면 됩니다. 


Run "C:\eBEST\eBestPro\XingQLogin.exe"

WinWait,eBEST Pro

WinActivate,eBEST Pro

ControlFocus, Edit2,eBEST

ControlSend, Edit2, 비밀번호,eBEST

Sleep, 2000

ControlFocus, Edit3, eBEST

ControlSend, Edit3, 공인인증비밀번호,eBEST Pro

Sleep, 2000

ControlClick, Button3,eBEST


댓글24

  • 2016.02.18 10:11

    비밀댓글입니다
    답글

    • 남성 2016.02.18 13:16 신고

      글쎄요 이렇게만 봐서는 왜 그런지 정확히 모르겠네요. 잘 되다가 안되신다고 하는데 대소문자 문제는 아닐것 같은데... 입력은 되는데 잘 못 들어가는건지 아님 입력 자체가 안되는건지도 확인을 해 보셔야 할 것 같네요. Edit3 가 맞는지도요.

  • 2016.08.17 18:57

    비밀댓글입니다
    답글

  • 2016.08.17 19:03

    비밀댓글입니다
    답글

    • 남성 2016.08.17 19:45 신고

      위 포스팅에서는 Etrade 증권 HTS 에 대해 해 본건데, 다른 증권 사의 경우에는 Edit2, Edit3, Button3 가 아닐 수 있습니다.
      Active window Info 에서 사용하시는 HTS 의 Contol ClassNN 이름이 무엇인지를 정확히 확인 후 넣으셔야 하고

      Sleep 값을 좀 더 크게 줘 보시거나

      그래도 안 될때는 아래와 같이 한번 해 보시기 바랍니다.

      아래 코드는 제가 방금 이베스트 증권 HTS 에서 정상적으로 동작하는거 확인한 코드 입니다.


      Run "C:\eBEST\eBestPro\XingQLogin.exe"
      WinWait,eBEST Pro
      WinActivate,eBEST Pro
      ControlFocus, Edit2,eBEST
      ControlSend, Edit2, 비밀번호,eBEST
      Sleep, 2000
      ControlFocus, Edit3, eBEST
      ControlSend, Edit3, 공인인증비밀번호,eBEST Pro
      Sleep, 2000
      ControlClick, Button3,eBEST


  • 2016.08.17 19:43

    비밀댓글입니다
    답글

  • 종혁 2018.10.15 12:08

    winwait, winactivate 뒤에 오는 명령어들은
    뭘 근거로 만들어졌나요? 폴더명도 아닌거 같은데
    예를 들어 미래에셋 카이로스는 어떻게 써야 하나요
    답글

    • 남성 2018.10.15 18:18 신고

      AutoIt3 Window Spy 를 실행하고 kairos 를 찍어보면 해당 프로그램의 타이틀 명이 나옵니다. 그 타이틀명을 넣어주면 됩니다.

  • 종혁 2018.10.15 13:24

    ebest pro 부분을 kairos 로 바꿔서 해봤는데 안되요
    답글

    • 남성 2018.10.15 15:45 신고

      창 이름을 제대로 바꾸셨다라고 한다면은 edit 부분의 classNN 을 윈도우 스파이 프로그램으로 정확하게 확인하신 후 넣어 주셔야 됩니다

  • 종혁 2018.10.16 12:18

    타이틀, classnn 부분
    둘다 정확하게 입력했는데 안되요
    위의 2개 예제 전부다요. ㅠㅠ
    카이로스요

    창만 뜨고 입력이 안되요
    답글

  • 종혁 2018.10.16 22:33

    감사합니다.

    f1::Run, C:\미래에셋대우\카이로스\kairos.exe

    WinWait,Kairos

    WinActivate,Kairos

    ControlFocus, Edit2,Kairos

    ControlSend, Edit2, ######,Kairos

    Sleep, 2000

    ControlFocus, Edit3, Kairos

    ControlSend, Edit3, ##########,Kairos

    Sleep, 2000

    ControlClick, Button1,Kairos

    Return


    ----------------------------------
    f1::Run, C:\미래에셋대우\카이로스\kairos.exe

    WinWait, Kairos

    WinActivate, Kairos

    ControlSendRaw, Edit2, ######## ; 비밀번호 입력

    Sleep, 100

    ControlSendRaw, Edit3, #########,Kairos ; 공인인증 비밀번호 입력

    Sleep, 100

    ControlClick, Button1, Kairos ; 마스터로 접속 버튼 클릭

    Return


    답글

    • 남성 2018.10.16 23:16 신고

      다른건 다 잘 하신거 같은데 단축키 쓰는 방법이 잘못된 거네요.

      아래와 같이 코딩하면 F1 을 누르면 Kairos.exe 만 실행하고 아래 부분의 코드는 실행하지 않습니다. 아래와 같이 msgbox 를 넣어보면 실행되지 않는 것을 확인 할 수 있습니다.

      F1::Run "C:\\미래에셋증권\\카이로스\Kairos.exe"
      msgbox Test
      WinWait, Kairos
      WinActivate, Kairos
      ControlFocus, Edit2, Kairos
      ControlSendRaw, Edit2, #########,Kairos
      Sleep, 2000
      ControlFocus, Edit3, Kairos
      ControlSendRaw, Edit3, #########,Kairos
      Sleep, 2000
      ControlClick, Button1, Kairos
      return

      올바른 방법은 한 줄 띄어서 코드를 써 줘야 원하는 대로 정상적으로 실행 될 겁니다.

      아래와 같이 해 주셔야 합니다. 아 그리고 혹시나 해서 말씀드리는데 카이로스에서 ID 저장에는 체크가 된 상태인거죠?

      아래 코드는 제가 정상적으로 동작하는 거 확인 한 코드 입니다. ID 저장 체크 된 상태에서 ID비밀번호와 공인인증비밀번호를 자동으로 넣고 로그인 버튼을 자동으로 누르는 코드 입니다.

      F1::
      Run "C:\\미래에셋증권\\카이로스\Kairos.exe"
      WinWait, Kairos
      WinActivate, Kairos
      ControlFocus, Edit2, Kairos
      ControlSendRaw, Edit2, #########,Kairos
      Sleep, 2000
      ControlFocus, Edit3, Kairos
      ControlSendRaw, Edit3, #########,Kairos
      Sleep, 2000
      ControlClick, Button1, Kairos
      return



  • 종혁 2018.10.17 09:11

    감사합니다.
    엄청나십니다. 내공이...
    넷상에서 hts 입력 방법이 유일하게 있는 한곳.
    많이 배웠습니다.
    읽은만한 글도 많은것 같아 자주 들르겠습니다.
    행복한 하루 되세요,
    답글

  • 2018.10.17 22:51

    비밀댓글입니다
    답글

  • 종혁 2020.03.20 22:21

    오랜만에 인사드려요.
    재작년 알려주신 미래에셋 hts 입력 잘사용중이었는데
    이번에 pc를 바꾼후 부터 비밀번호 입력 오류라고 뜨네요.
    단지 pc만 바꿨을 뿐인데..

    이전 pc에서는 10번중 1번꼴로 오류 떴다면
    이번엔 10번중 9번은 비밀번호 입력 오류 라고 합니다.
    왜그럴까요..

    똑같이 응용한 키움 hts는 잘만 됩니다.
    답글

    • 남성 2020.03.20 23:14 신고

      요즘 미래에셋증권은 잘 사용하고 있지 않아서 왜 그런지는 정확하게 모르겠지만 아마도 HTS 키보드 보안 프로그램 같은 것들 때문이 아닌가 생각이 되네요.

      질문 내용을 보면 될 때도 있고 안 될 때도 있는 것 같은데 ControlFocus를 한 상태에서 ControlSendRaw 를 사용하는게 아니라 send, postmessage, sendmessage 같은 것도 시도를 해 보시는게 좋을 것 같고 중간 중간 sleep 시간을 조절해 보는 것도 좋을 것 같습니다.

  • 종혁 2020.03.21 13:38

    포기합니다. ㅎ
    안되네요.
    미래hts는 울며 겨자먹기로 사용하네요.
    기능도 떨어지면서 무겁기만하고
    감사합니다.
    답글

  • jskim 2020.09.20 20:57

    안녕하세요. 내공이 엄청나시네요... 제가 몇몇 매크로 프로그램을 사용해봤는데요. 정확히 무엇때문인지는 모르겠으나 주식프로그램 실행후 매크로 프로그램을 사용하게되면 자동종료되더라구요? 주식보안어플때문인듯한데.
    오토핫키의 경우는 주식프로그램 (키움증권-영웅문4) 실행하더라도 작동하는데 문제가 없는것인지 궁궁합니다!!! 그럼 감사합니다. 고생하세요.
    답글

    • 남성 2020.09.21 10:42 신고

      글쎄요 키움증권을 안 써서 정확히는 모르겠네요. 이베스트 증권의 경우에도 키보드 보안이 있는데 위 소개한 프로그램 시작할때 자동 로그인 기능은 정상적으로 동작 하더군요.