2013-06-01 4 views
-2

검색에 시간을 할애 했으므로 이미 답변을 해 주신다면 실례합니다. 다양한 작업을 수행하기 위해 C#으로 프로그램을 작성했지만 파일에서 정보를 수집하는 대신 내 자체 소프트웨어와 동시에 열리는 다른 실행중인 프로그램에서 몇 가지 값을 검색하려고합니다. 이 다른 프로그램에는 변수와 화면 데이터가 모두 포함되어있어 자신의 변수에 배치해야합니다. 이 문제를 해결할 좋은 방법이 있습니까? C++에는 몇 가지 방법이 있지만 저는 그것들을 모릅니다. 그래서 C++로 작성하고 C#을 통해 호출해야한다고해도 괜찮습니다.다른 창에서 정보 모으기

편집 : 추가 정보; 런타임 중에 데이터를 캡처해야하는 2 개의 메시지 상자 영역과 3 개의 int 변수가 있습니다.

+0

값을 얻으려는 "다른 프로그램"에서 어떤 유형의 컨트롤 (편집 상자, 그림 등)을 아는 것이 도움이됩니다. –

+0

나는 WCF에 대한 책을 읽은 제안 - 많은 예를 튜토리얼 온라인의 하나를 : http://www.c-sharpcorner.com/UploadFile/4d56e1/how-to-create-and-consume-wcf-services/ 당신이 해결할 수없는 특정한 어려움이 생기면 질문을 할 시간입니다. 사람들은 대답하기 위해 최선을 다할 것입니다. 현재 귀하의 게시물은 애매하고 실질적인 질문이 없습니다. –

+0

정보 주셔서 감사합니다. 지금까지 WCF. 애매한 것에 관해서는, 나는 downvote를 인정하지 않는다. 그러나주는 더 많은 정보가 없다. 내 프로그램에서 필요한 두 번째 프로그램에는 int 변수가 있습니다. 그게 전부 야. – Sirius

답변

0

관리되는 응용 프로그램에 첨부하려면 Snoop이 어떻게 작동하는지 확인할 수 있습니다. 그것은 오픈 소스 : http://snoopwpf.codeplex.com/

... 나는 ...

글쎄, 오히려 그 방법 중 어떤 것보다 당신이 아닌 표준을 사용하여 통신 할 수 싶습니다 오히려 파일에서 정보를 수집하는 것보다 WCF과 같은 파일 통신 (또는 학습 곡선이 적은 대안).

0

EnumWindows을 사용하여 모든 창을 나열하는 것이 좋습니다.

[DllImport("user32.dll")] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); 

그런 다음 해당 창에 대한 추가 정보를 얻을 수 있습니다. 예를 들어 다음은 창 제목을 가져 오는 방법을 설명하는 blog post입니다.