2012-10-14 3 views
1

내 문제의 해결 방법을 찾으십시오. 우리는 클라이언트 용 제품에 웹 브라우저 컨트롤을 구축하고 있으며, 웹 사이트에 파일 업로드 상자가있을 때이를 감지 할 수 있어야합니다. 그러면 Windows 7 파일 브라우저 창을 시작하는 대신 자체 파일 열기 창이 필요합니다. 맞춤형 디자인파일 다운로드시 사용자 정의 대화 상자 표시

캡처 할 수있는 브라우저 이벤트가 있습니까?

+0

의 조합으로 가능한 파일을 프로그래밍 방식으로 선택하려는 경우 대화 상자를 무시하면 멀웨어의 매우 매력적인 대상이됩니다. WebBrowser의 COM 버전으로 돌아가서 DWebBrowserEvents2.FileDownload 이벤트를 가져올 수 있습니다. 그러나 다운로드중인 파일을 찾을 수없고 취소 만 할 수 있습니다. –

+0

질문 제목이 "파일 업로드시 사용자 정의 대화 상자 표시"여야합니까? – aliassce

답변

0

FileDownload 이벤트를 잡아서 직접 처리 할 수 ​​있습니다.

다시 WebBrowser 컨트롤에 데이터를 전송하고, 양식을 제출, 사용자 정의 파일 대화 상자를 표시 한 후

http://msdn.microsoft.com/en-us/library/bb268220(v=vs.85).aspx를 참조하십시오.


또 다른 옵션은 자바 스크립트를 컨트롤에 삽입하는 것입니다. 업로드 버튼의 통화를 대체하는 코드를 삽입하고 대신 자신의 양식을 표시하십시오.

3

당신 제어 사이트에서 IServiceProvider를 구현하고 웹 브라우저 컨트롤

윈도우 폼의 WebBrowser를 클래스에서

, 제어에 의해 요구 될 때 IDownloadManager 개체를 반환하여 QueryService를 구현함으로써 만 WebBrowser 컨트롤 호스트 프로세스에 효과가 hook up your own download manager을 할 수 사이트는 기본적으로 만들어 지지만 자신의 WebBrowserSiteBase 클래스를 만들고 WebBrowser.CreateWebBrowserSiteBase 메서드를 재정 의하여 override the control site 수 있습니다. WPF, Silverlight 또는 Windows Phone에서 웹 브라우저 컨트롤을 사용하면 이러한 확장 성이 없습니다.

C#으로 코딩 한 경우 interop의 양이 필요하므로 C++로 다운로드 관리자를 작성하는 것이 좋습니다. 네이티브 다운로드 관리자 here을 사용하는 C# 웹 브라우저 컨트롤의 예가 있습니다.

0

<input type=file .... 값을 수정하고 싶습니다. javascript, vbscript와 같은 DOM에 액세스하기 때문에 웹 브라우저 컨트롤을 사용할 수 없습니다. DOM이 업로드 된 파일에 액세스하여 변경하면 악의적 인 사용자가 쉽게 로컬 파일을 도용 할 수 있습니다. javascript)을 방문하십시오.
또한 보안 문제로 인해 FileUpload의 가치를 확인할 수 없습니다.
SendKeys

관련 문제