문제

Windows Forms 응용 프로그램에 Internet Explorer 브라우저가 포함되어 있으며이 양식의 소스 코드를 수정할 수 없습니다. 그러나 나는 IE 창에 대한 손잡이를 얻었고 다양한 것을 수행 할 수 있습니다. SendInput 기능. 컨트롤을 클릭하면 그것이 어떻게 TextBox, 그리고 그 다음에 캐릭터를 어떻게 보내나요? TextBox?

다른 기능을 위해 이미 얻은 IE 창에 핸들을 사용하는 답이 필요합니다. 내가 필요한 대답에는 IE 창에 대한 핸들이 포함되어야합니다.

도움이 되었습니까?

해결책

당신은 할 수 없습니다. IExplore의 컨트롤은 더 이상 Windows 컨트롤이 아닙니다. 실제 Windows 컨트롤과 유사하게 보이는 IExplore가 렌더링하는 사용자 정의 엔터티입니다.

웹 페이지의 컨트롤과 상호 작용하는 유일한 방법은 Internet Explorer Windows의 ActiveX Control에 액세스하고 iid_iwebbrowser2를 요청하는 것입니다.이 시점에서 문서 개체 모델 네임 스페이스를 탐색하는 것입니다.

"이 양식의 소스 코드를 수정할 수없는 능력이 없다면"코드가 완전히 다른 프로세스에서 실행되고 있음을 의미하면 매우 큰 문제가 있습니다. 동일한 프로세스에있는 경우 Winforms에 API가 호스팅되는 ActiveX 컨트롤에 대한 액세스를 강요하는 데 사용할 수있는 API가있을 가능성이 높습니다.

이런 종류의 Dev -C#에 대한 최적의 언어 선택을 감안할 때 ActiveX 컨트롤과의 인터 로프가 얼마나 쉬운 지에 대한 조언을 줄 수 있습니다.

다른 팁

http://watin.org/ 웹 브라우저에 액세스 할 수있는 많은 가능성을 제공합니다. 다른 응용 프로그램에 포함 된 것을 포함하는지 모르겠습니다.

어느 쪽이든, 브라우저 창을 "자동화"하는 방법에 대한 더 많은 정보를 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top