배포된 애플리케이션의 키보드 이벤트 얻어서 새로운 기능 구현하는 방법
제가 하려고 하는것은 이미 상용으로 배포되어있는 프로그램의 플러그인을 개발하는 것입니다.
예를 들어 포토샵, 엑셀 같은 툴을 새로 빌드 하지 않고 툴에서 제공하는 api만을 가지고 개발을 해야합니다. 왜냐면 당연히.. 상용프로그램 소스가 없기 때문이죠.
정확히 구현하고 싶은 기능은
특정 키, 예를 들어 'k' 를 누른상태에서 무언가를 하고 싶습니다.
단축키 또는 핫키와 비슷한 기능을 구현하고 싶은 것입니다.
그래서 애플리케이션이 구동중에 키보드 이벤트를 받으려고 하는데
문제는 제공하는 api에서 런타임 이벤트를 관리할 수 이벤트 핸들러 같은것을 지원한다던가
또는 애플리케이션의 업데이트 함수 같은것을 상속받지 못하는 구조인듯 합니다.
때문에 런타임에 접근을 못하고 있습니다.
api 에서 제공하는 디바이스 이벤트라고는 마우스 클릭 이벤트 몇개와 위치정보
그리고 키보드는 컨트롤, 알트, 쉬프트, 방향키, 정도인듯 합니다.
지금 간단히 생각나는 아이디어는 윈도우 자체에서 키보드 이벤트를 후킹하는것,
또는 프로그램 내부에서 새로운 메시지 루프를 돌리는 것,
참고로 제가 사용중인 프로그램 내부스크립트로 파이썬을 지원하기때문에
qt를 이용하여 프로그램 내부에서 새로운 윈도우를 만들고 거기에서 이벤트 루프를 돌려보았지만
제가 하고 싶은것은 그 이벤트를 받아 메인 윈도우에서 무언가를 하고 싶은 것이기 때문에
새로 만든 윈도우에서 이벤트를 받아봤자 메인 윈도우로 어떻게 전달해야 할지 모르겠더군요..
이렇게 막혀 있는 상태에서 키보드 이벤트를 받아 무언가를 하려고 할때 어떻게 접근하면 좋을지 조언을 구합니다.
제가 개발하려고 하는 툴은 autodesk maya 라는 툴이고 c++ api가 제공이 되고 프로그램 내부 스크립트로 python이 임베딩 되어있습니다.
각 회사마다 plug in- sdk 를 제공할겁니다.
후킹'은 허가 받지 않은 접근으로. 불법 일겁니다.
각 회사별로 문의주시면. 개발 하는 방법과 SDK를 알려주실겁니다.
게다가. 예제소스도 제공되고. 더 편할겁니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기