--
일단 FindWindow 등으로 윈도우 핸들을 얻어오면
메시지를 보낼 수 있겠죠?
여기서 님께서 정한 메시지를 보내는거죠...
데이터를 wParam에 실어서 보내시면 되겠슴다...
그리고 메시지 정하기가 싫으시면 WM_COPYDATA 메시지를
이용하셔도 좋겠네요.
--
이게 답변 원문인데요..어디서 보니 WM_COPYDATA는 유실될수 있다
라고 본것 같습니다.고수님들이 적으신 글이니 믿을만 하겠죠..
팁에서 "이종" 이라고 치시면 이종간의 어플리케이션 어쩌구 있습니다.
거기 보시면 다른 두 어플리케이션끼리 윈도우메세지를 주고 받아서
펑션을 호출하는 예가 잘나와있습니다.
wParam에다가 문자열을 얼마나 집어넣을수 있는지 모르겠네요..
그리고 이건 또 다른 답변인데요..
----------------------------------
FindWindow(), FindWindowEx()이것들 사용하면 핸들을 얻을 수 있습니다.
또한 이러한 핸들을 직접 이용하는 것은 각각 존재하난 WPARAM, LPARAM를 알고 계시죠.
요것들이 콜백프로시저에서 사용될때는 LOWORD, HIWORD등으로 변환되는데 나중에는 포
인터 연산이 되어서 우리는 메시지만을 처리하게 되는 거죠.
그러니깐 직접적으로 다른 윈도우에서 핸들을 얻은다음 이곳에 이밴트를 생성하려면,
^^;
HHOOK구조체를 이용하고요. 메시지를 후킹하시면 됩니다. SPY++이 하나의 예제가 되구
요.
또한 이때 SetWindowsHookEx를 이용하여 등록하시고 이때 등록한 함수또한 CALLBACK 프
로시저일겁니다. 이때 그 프로시저에 핸들을 얻도록 구현하시면 됩니다.
또한 WM_DESTROY하실때는?
UnWindowsHookEx를 이용하여 훅을 돌려주시고요. 안돌려주면 시스템 전체가 중지되는 경
우도 있으니 경고조차도 무시하지 마시고 버그 잡아주세여.
이것은 논리상에서 에러가 가장 조치하기 어려우니 초기 설계작업을 잘 하셔야 할 겁니
다.
그럼 이만.... 즐프하세여 ^^;
--------------------------------------
여기까지 입니다. 핸들을 얻어서 후킹을 한다네요..
후킹을 해서 직접 작성한 평션을 돌려준다인거 같은데요..
흠 후킹은 해본적이 없어성...
윈도우에서 다른 윈도우가 같은 프로그램인지 서로 다른 프로그램인지 질문으로 봐서는 잘 모르겠네요.
같은 프로그램이던 서로다른프로그램이던 동일하게 처리하는 방법으로는 WM_COPYDATA라는 메시지를 이용한 방법이 있을 수 있구요.
같은 프로그램의 서로 다른 윈도우라면 힙에 메모리를 할당해서 그 메모리 포인터를 message의 파라메터로 보내시는 방법이 있을 것 같네요.
이 이외에도 방법은 많을것 같습니다.
참고가 되시길...