오토핫키 강좌 #9 - PostMessage 파라미터 (오토핫키 붙여넣기)




안녕하세요~ 킴영감입니다~


지난 강좌에서 비활성 프로그램에 대한 개념과 PostMessage를 사용하는 방법에 대해 알려드렸습니다.


이번 강좌에서는 postMessage에 사용되는 여러가지 파라미터들을 정리해 드리도록 하겠습니다. (SendMessage 에도 똑같이 사용할 수 있습니다^^)


파라미터 양이 많아서 시간을 두고 조금씩 업데이트 하도록 할테니 원하는 파라미터 값이 없어도 조금만 기다려 주시기 바랍니다.



1. 키보드 입력


키보드 입력을 위해서는 postmessage의 메세지 부분에 아래와 같이 적어주셔야 합니다.


PostMessage, 0x100, wParam, lParam, , 윈도우 타이틀   -> 키보드를 다운시키는 코드

PostMessage, 0x101, wParam, lParam, , 윈도우 타이틀   -> 키보드를 업시키는 코드


키보드의 각 키에 해당하는 파라미터들입니다. 불펌 방지를 위해 이미지로 올리는 점 양해 바랍니다.


검색을 위해 조금씩 나눠서 작은따옴표로 표시해 놓겠습니다.



1) 'Tab', 'Caps Lock', 'Shift', 'Ctrl', 'Alt', 'Window Key', 'Insert', 'Delete', 'Home', 'End', 'Page Up', 'Page Down', 

'Back Space', 'Space bar'



2) `'', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\'



2015.11.17. 업데이트

3) 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']'



4) 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', ''', 'Enter'



5) 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/'



빠른 업데이트는 약속드릴 수 없지만 최대한 노력해보겠습니다~^^



블로그 이미지

킴영감

프로그래밍과 게임공략, 게임과 관련된 프로그램에 대한 내용을 다룹니다.

댓글을 달아 주세요

  • a 2015.11.11 19:38  댓글주소  수정/삭제  댓글쓰기

    안녕하세요

    올려주신 글로 (다른것들을 종합하고 해서 제가 원하는 오토핫키를 만들엇습니다) 지금 공부하고 있습니다.
    하지만 갑자기 궁금한점이 생겨서..(죄송합니다 완전히 전부다 글을 읽어보지 않았습니다 혹시나 글중에 답변이 있을수도 있지만..)

    원래 만들어놓은 오토핫키 소스를 가지고 쉽게 비활성을 만드는방법이 있을까 궁금합니다.

  • a 2015.11.14 17:13  댓글주소  수정/삭제  댓글쓰기

    ㅎ 네 감사합니다

    그런데 비활성 이 맞긴한데,

    다른창에 가려지거나, 최소화나, 그럴때는 안되는것같은데 그럴때도 가능한 비활성 오타핫키는 없나요?

    여러가지 찾다보니 gdip 이라는걸로 해서 하던거같던데 잘안되는것같아서요 혹시 가능하나요

    최소화나 다른창에 가려져도 되는방식으로, 이미니 서치, 클릭 등등 이런거요~

    • 킴영감 2015.11.16 10:55 신고  댓글주소  수정/삭제

      가려진 창이나 최소화일때 동작하는 기능이 가능하기는 한데 아직 저도 공부해야 되는 부분이라서...^^
      공부한 뒤에 강좌 올리도록 하겠습니다^^

  • 2015.11.17 18:31  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 킴영감 2015.11.17 21:12 신고  댓글주소  수정/삭제

      정확히 어떤부분이 안된다는 것인지 말씀해주셔야 제가 도움을 드릴 수 있을 것 같습니다. 스페이스바 입력이 된다면 다른 키 들도 될것 이라고 생각됩니다. postmessage에 대한 이해만 있다면 충분히 바꾸실 수 있을 것이라 생각되며 붙여넣기 강좌 8강을 안보셨다면 조금이나마 도움이 될 것 같습니다.
      문제를 해결 해 드리지 못해서 죄송합니다.ㅠ

  • 2015.11.18 14:50  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 킴영감 2015.11.19 10:09 신고  댓글주소  수정/삭제

      음...일단 입력하는부분만 비활성으로 하는것이기 때문에 Send를 제외한 나머지는 모두 바꾸기 전과 똑같이 사용하시면 됩니다.

      스페이스바를 누르는 것 까지 되시면 ControlSend와 PostMessage가 모두 동작한다는 것입니다. 바꾸기 전에 올바르게 동작했다면 이미지와 픽셀서치 역시 동작한다는 것이구요.
      한가지 의문점이 있는데 바꾸신 코드에 있는 ControlSend에 프로그램명이 Legend of Darknesssend 로 된 부분이 있는데 이건 맞게 적으신건가요? 위에는 Legend of Darknesss 로 되어 있네요. 만약 잘못 적으셨다면 이부분이 문제일 것 같습니다.

  • 2015.11.19 23:39  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  • 지나가는나그네 2015.11.20 09:40  댓글주소  수정/삭제  댓글쓰기

    http://autohotkey1199.tistory.com/13

    키보드 값 팜코드 추출기 입니다.

  • a 2015.11.21 10:31  댓글주소  수정/삭제  댓글쓰기

    이제 마지막까지 되긴됩니다 ㅎ
    하지만 문제가 생겼네요
    마지막에 포스트메시지 클릭이

    제때 안되고, 너무 빨리 클릭이 되는데,

    뭔가 픽셀서치가 잘못된건가요?

    coordmode 를 screen으로 해야되는건 맞죠?

    골치아프네요 ㅠㅎ

    • 킴영감 2015.11.25 17:05 신고  댓글주소  수정/삭제

      타이밍은 Sleep과 연관이 있습니다. 비활성 클릭 함수 호출 전에 Sleep으로 원하는 시간만큼 딜레이를 주시면 될 것 같습니다^^

  • 준사마 2015.12.04 08:52  댓글주소  수정/삭제  댓글쓰기

    정말 감사합니다~
    오토핫키를 처음 접하고 막막했는데 이렇게 좋은 강좌를 올려주셔서 너무나 감사드립니다 ^^

    • 킴영감 2015.12.07 14:43 신고  댓글주소  수정/삭제

      강좌 잘 보고 계신다니 뿌듯하네요~!!ㅋ
      열심히 공부하시다 모르시는 부분은 댓글로 질문해주시면 최대한 해결 가능하도록 답변드릴테니 화이팅 하시기 바랍니다~^^

  • Mitzvah 2015.12.04 10:50  댓글주소  수정/삭제  댓글쓰기

    킴영감님 정말 감사드립니다..! 기존에 스크립트메이커 라는 프로그램으로 매크로를 짜보다가 한계를 느끼고 코딩을 해보자 하는 마음에 검색을 하다가 찾아오게 되었는데...정말 하나도 모르는 초보를 위한 주옥같은 정보들이 정말 많네요!!!! 강의 하나하나 해보고 강의내용에서 바꿔가며 열심히공부중 입니다 ㅎ 감사합니다!!!

    • 킴영감 2015.12.07 14:45 신고  댓글주소  수정/삭제

      칭찬해주시니 뿌듯하네요~^^
      초보를 대상으로 시작한 강좌라 깊이는 못들어가지만 보고 따라하시면 그럴듯한 프로그램을 만들 수 있으실 거에요~ㅋ
      모르시는 부분은 댓글로 질문해주시면 최대한 해결 가능하도록 답변드릴테니 힘내서 포기하지마시고 공부해 보시기 바랍니다~^^

  • 좀비 2015.12.12 06:23  댓글주소  수정/삭제  댓글쓰기

    비활성 키보드 입력 구현중인데요
    postmessage로 하는 중인데
    alt+9와 shift+9 같은 키 두개 입력을 하려는데

    PostMessage,0x100,0x11,0x1D0001,edit1,제목 없음 - 메모장 ;ctrl 누르기
    PostMessage,0x100,0x56,0x2f0001,edit1,제목 없음 - 메모장 ;v 누르기
    PostMessage,0x101,0x11,0xc01d0001,제목 없음 - 메모장 ;ctrl 떼기
    PostMessage,0x101,0x56,0xc02f0001,edit1,제목 없음 - 메모장 ;v 떼기
    이런식으로 ctrl+v 실험해봤는데 작동이 안됩니다...
    wparam과 lparam 값이 따로 있는것 같은데 잘 모르겠습니다.
    도움 부탁드려요 ㅜㅜ

    • 킴영감 2015.12.15 11:15 신고  댓글주소  수정/삭제

      우선 붙여넣기의 경우 아래와 같이 사용할 수 있습니다.
      postmessage, 0x302, 1, 0, Edit1, 제목 없음 - 메모장

      두개의 키를 동시에 누르는 동작도 postmessage로 구현 가능하며
      실제로 구현 하고자 하는 프로그램과 키를 사용해서 테스트 해보시기 바랍니다^^

  • 2015.12.15 21:47  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 킴영감 2015.12.15 21:50 신고  댓글주소  수정/삭제

      죄송합니다
      개인적인 연락은 안받습니다ㅠ
      댓글로 궁금하신점 남겨주시면 최대한 해결 가능하도록 도와드리겠습니다^^

  • 2015.12.19 03:27  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 킴영감 2015.12.29 15:32 신고  댓글주소  수정/삭제

      우선 제가 피파에서 테스트 해보지 않아서 정확하게 답변을 드릴수는 없지만 경험상으로 키를 눌렀다가 때는 과정에서 조금의 딜래이가 필요했습니다. 다른분이 PostMessage가 동작한다는 것을 확인 해 주셨으니 spase키 입력부분을 아래와 같이 변경해보시기 바랍니다.

      PostMessage, 0x100, 0x2D, 0x1520001,, FIFA ONLINE3 - Developed by SPEARHEAD
      Sleep, 100 ;추가한 부분
      PostMessage, 0x101, 0x2D, 0xC1520001,, FIFA ONLINE3 - Developed by SPEARHEAD

  • 즐겨 2015.12.20 13:45  댓글주소  수정/삭제  댓글쓰기

    postmessage로

    ALT+X 보내려면 뭐라고적어야하나요,,? ㅠㅠ

    PostMessage, 0X100, 0x12, 0x20380001,Internet Explorer_Server1, NAVER - Internet Explorer ;알트down
    PostMessage, 0X100, 0x58, 0x2D0001,Internet Explorer_Server1, NAVER - Internet Explorer ;Xdown
    PostMessage, 0X101, 0x58, 0xC02D0001,Internet Explorer_Server1, NAVER - Internet Explorer ;Xup
    PostMessage, 0X101, 0x12, 0xC0380001,Internet Explorer_Server1, NAVER - Internet Explorer ;알트up

    이렇게했는데 x만 입력이되요 ㅠㅠ

  • 오토핫키좋나요? 2016.01.23 19:23  댓글주소  수정/삭제  댓글쓰기

    이렇게 할 바엔 비주얼베이직이나 자바나 MFC로 만드는 쪽이 편하지 않나요?
    오토핫키를 사용하는 것의 메리트가 어떤 점인가요?

    • 킴영감 2016.01.27 15:04 신고  댓글주소  수정/삭제

      음...이 질문이 단순히 오토핫키를 왜 사용하냐는 질문으로 받아들이면 될까요?

      답변을 드리자면 MFC를 사용하실 수 있으시면 MFC로 만드시는 것이 훨씬 좋고 활용도도 높습니다.

      하지만 왜 오토핫키를 사용하냐에 대한 답변으로 아래와 같이 나열할 수 있습니다. (지극히 개인적인 생각입니다.)
      1. 쉽게 접할 수 있습니다.
      2. GUI를 간략한 과정으로 구현할 수 있습니다.
      3. 왼만한 기능은 다 구현할 수 있습니다.
      4. 익히기 쉽습니다.

      위에서 말씀드린 부분은 어디까지나 프로그래머가 아닌사람이 오토핫키를 사용하는 이유입니다. 제 강좌를 보시는분 대부분이 프로그래머가 아니지만 매크로를 만들어보고싶어하시는 분이며 이런분들에게 오토핫키는 아주 좋은 수단이 된다고 생각합니다^^

  • 음.. 2016.01.31 12:23  댓글주소  수정/삭제  댓글쓰기

    esc는 위의 표에서 키값이 없는데 알 수 있을까요?

  • 2017.03.07 17:17  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  • 송준호 2017.08.20 11:27  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 정리해주신 글을 보고 공부하고 있습니다. 이렇게 잘 정리해주시고 도움주셔서 감사합니다.
    한가지만 문의 드리자면, postmessage에 키 다운과 키 업이 있는데... 키다운 입력하고 다른 키다운 입력하여 동시 누름이
    안되는것 같습니다. 즉, 포스트메세지에서는 동시에 키 입력이 불가능한건가요?
    그렇다면 키 업은 도대체 왜 있는건지모르겠네요..
    항상 감사드리고, 혹시 시간되신다면 답변 부탁드립니다. 감사합니다.
    alt+마우스 클릭 이런걸 구현하고자 하는데 동시 입력이 안되네요