예외가 myWebBrowser2 유형 'System.Windows.Controls.WebBrowser'의 있음을 알려줍니다에 유형 'System.Windows.Controls.WebBrowser을'변환 할 수 없습니다. 그러나이 예제에서는 'SHDocVw.IWebBrowser2'유형입니다.
[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("6d5140c1-7436-11ce-8034-00aa006009fa")]
internal interface IServiceProvider
{
[return: MarshalAs(UnmanagedType.IUnknown)]
object QueryService(ref Guid guidService, ref Guid riid);
}
static readonly Guid SID_SWebBrowserApp = new Guid("0002DF05-0000-0000-C000-000000000046");
...
IServiceProvider serviceProvider = (IServiceProvider)myWebBrowser.Document;
Guid serviceGuid = SID_SWebBrowserApp;
Guid iid = typeof(SHDocVw.IWebBrowser2).GUID;
SHDocVw.IWebBrowser2 myWebBrowser2 = (SHDocVw.IWebBrowser2) serviceProvider.QueryService(ref serviceGuid, ref iid);
...
그리고 myWebBrowser2 상호 작용에 대한 준비가되어 있습니다 : 그것은 당신이 그들이 WPF WebBrowser 컨트롤에서 IWebBrowser2를 추출 부분을 건너 뛸 것 같다 (이 예 'myWebBrowser'에서 귀하의 웹 브라우저 컨트롤입니다).