외부 프로그램의 핸들을 찾아와서 하위 컨트롤 중 msctls_statusbar32의 핸들값을 찾아 내었습니다.
일반적으로 statusbar를 쓰게 되면 simpletext가 놓여지는 index를 프로그램 내에서 처리할 수 있지만, 외부 프로그램을 감시하는 입장에서 여간 힘든일이 아니더라구요. ㅜㅜ
Message를 추적하여 SB_SETTEXT를 찾아내었습니다. Windows SDK Help를 통하여 용법을 알아서 그 반대되는 SB_GETTEXT도 알아내었습니다. 그런데, Delphi 7에서 제공하는 Message Unit 파일 안에는 WM_GETTEXT와 WM_SETTEXT는 있지만 SB_SETTEXT와 SB_GETTEXT는 없더라구요. WM_은 일반적으로 Edit나 Static의 Caption과 그 Text 내용을 찾아올 수 있지만 StatusBar상의 Text는 찾아올 수 없어서 SB_를 이용해야 될 거 같습니다.
이제부터가 문제입니다.
외부 프로그램에서의 StatusBar의 Text를 가져오고 싶은데 좋은방법은 무엇인가요 ?
SB_GETTEXT를 이용해야 된다면 도대체 Uses문에는 무슨 파일을 Including해야되나요 ?
SB_GETTEXT, SB_SETTEXT는 CommCtrl유닛에 있습니다.
SB_GETTEXT로 외부 프로그램의 데이터를 얻어올때는 그 프로그램의 메모리 영역안으로 들어가야 하는걸로 알고 있습니다.
아마도 후킹외에는 방법이 없을거 같습니다.
^^ 항상 즐코하세요...