2012-01-19 3 views
1

일부 win 응용 프로그램 (내 제품이 아님)에서 데이터를 수신해야합니다. 현재 응용 프로그램 창이 비활성화되어있을 수 있습니다. 필요한 데이터는 테이블에 표시되므로 텍스 트 상자, 텍스트 영역 등에서 텍스트를 검색하기 때문에 WM_GETTEXT, WM_COPY를 사용할 수 없습니다. 이 테이블에서 수동으로 선택할 수 있으며 필요한 것은이 텍스트를 복사하는 것입니다. 클립 보드에 데이터를 복사하기위한 Ctrl + C의 에뮬레이션을 통한 선택. 이 키 시퀀스를 이런 식으로 보내려고했습니다.다른 응용 프로그램에서 텍스트 데이터 복사

PostMessage(hwnd, WM_KEYDOWN, 0x11, 0x001D0001); 
PostMessage(hwnd, WM_KEYDOWN, VkKeyScan('c'), 0x002E0001); 
PostMessage(hwnd, WM_CHAR, VkKeyScan('c'), 0x002E0001); 
PostMessage(hwnd, WM_KEYUP, VkKeyScan('c'), 0xC02E0001); 
PostMessage(hwnd, WM_KEYUP, 0x11, 0xC01D0001); 

또한 성공하지 못했습니다. 이것은 메모장에 좋지만 내 테이블에는 적합하지 않습니다. 거기에서 텍스트 데이터를 가져 오는 다른 방법이 있습니까?

+0

당신이 "표"가 무엇을 의미합니까를? DataGrid, GridView, html 테이블과 마찬가지로? – doogle

+0

올바른 창 핸들이 있다는 것을 어떻게 알 수 있습니까? –

+0

@odie, 예, gridview처럼 보입니다. 하지만 실제로 그것은 .NET 응용 프로그램이 아닙니다. – Roman

답변

0

당신은 C#을 언급, 그래서이 경우 당신은 다음과 같은 기술을 사용하여 데이터를 얻을 수있는 다른 승리의 응용 프로그램을 가정하는 것 또한 닷넷입니다 해요 : Hawkeye - The .Net Runtime Object Editor

+0

아니요, 다른 응용 프로그램은 .NET 것입니다. Hawkeye를 시도하고 아무 것도 반환하지 않습니다. – Roman

관련 문제