Microsoft MVP성태의 닷넷 이야기
다른 프로그램의 컨트롤 건드려보기_추가질문 [링크 복사], [링크+제목 복사],
조회: 18309
글쓴 사람
임동찬 (dngchn.im at samsung.com)
홈페이지
첨부 파일
 

제가 구현하고자 하는 것에 대해 구체적으로 말씀드리자면,
타겟 프로그램이 있고, 이는 UI에 하나의 grid 형태의 컨트롤을 갖고 있습니다.
제가 지금까지 알아낸 것은,
해당 grid 컨트롤의 윈도우 핸들,
사용된 그 grid의 ActiveX (dll 파일을 갖고 있어, C#에서 레퍼런스 추가하여 인터롭을 통해 이벤트 및 메서드를 이용할 수 있습니다.)
타겟 프로그램의 버튼 클릭이나 텍스트박스 내용 읽어내기는 윈도우 핸들을 이용하여 가능합니다만,
위 grid 내부의 내용을 읽어내고 싶은데, 방법을 못찾고 있습니다.
SPY와 같은 유틸리티를 통해서도 grid 까지는 접근가능한데,
grid 내부의 각 셀 단위까지는 접근할 수 없습니다.
...
최종적으로는 타겟 프로그램 UI의 grid 컨트롤이 받는 이벤트를 모두 다 받아 처리하고 싶지만,
그러기에 앞서 이 grid의 내용을 읽어낼 수 있을까요?








[최초 등록일: ]
[최종 수정일: 11/10/2010]


비밀번호

댓글 작성자
 



2010-11-10 08시45분
Grid 같은 경우, 보통 내부 Cell 들은 별도의 HWND를 갖지 않고 단순히 "그려지는" 요소에 불과합니다. 따라서, 이런 경우는 명시적으로 Grid에서 그러한 자료를 액세스할 수 있는 메서드를 제공해야 합니다. (또는 윈도우 메시지.)

예를 들어 보면, WM_GET_CELL (LO_WPARAM = x, HI_WPARAM = y) 이라는 윈도우 메시지를 Grid가 제공해야겠지요.
문제가 하나 더 있습니다. 대부분의 사용자 정의 윈도우 메시지는 데이터 마샬링을 프로세스 주소 공간밖으로 할 것에 대한 배려가 거의 없다고 보시면 됩니다. 즉, 설령 그런 윈도우 메시지를 제공해준다고 해도 "다른 프로세스"로부터 윈도우 핸들만으로 알아내는 것은 대부분 불가능합니다.

kevin25

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5920한예지 donator10/3/202314264C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/202312852WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/202313563동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/202314028Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/202315690비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/202315121.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/202314663지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/202320133[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/202313603Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/202312963Async 메서드와 try~catch [1]
5909guest4/22/202314715Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/202313849텅빈 원그리기 [5]
5907민성4/21/202313996안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/202314351Dispatcher 서비스 구현 질문 [1]
5905guest4/20/202315265tabControl의 tabPage가 여러 개일 때 순서를 바꾸기가 까다롭네요 [5]
5904guest4/18/202315718[신규자료첨부] DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [4]파일 다운로드1
5903guest4/18/202314350fileSystemWatcher 이벤트 관련 질문입니다 [2]
5902guest4/17/202315423c#으로 USB 관련 질문 [2]
5901guest4/17/202312477내솔루션 판매 시 1.0.0.0 폴더와 Sqlite 배포 [5]
5900guest4/17/202315881DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [2]파일 다운로드1
5899guest4/17/202313662Dictionary와 Linq [4]
5898차가워4/17/202313189CNTK 교육 문의 [1]
5897guest4/17/202312791Socket스레드와 UI thread [4]
5896HAN4/16/202312872c언어 return 에 대해 궁금한게 있어요. [1]파일 다운로드1
5895guest4/15/202313153Drag and Drop - 모든 컨트롤 [2]
5894송부장4/14/202315210[질문] Visual Studio 2022에서 '도구 상자 항목 선택'의 'COM 구성 요소' 탭에서 ActiveX 목록이 보이지 않습니다. [3]파일 다운로드2
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...