タイトル | : Re^4: WebBrowserで表示中のHTMLのプロパティ取得について |
記事No | : 3422 |
投稿日 | : 2006/03/23(Thu) 16:50 |
投稿者 | : 魔界の仮面弁士 |
> > 全体のサイズを求めるプロパティの記述がわかるといいのですが。 > Option Strict Off / エラー処理なしの手抜きサンプル。
ついでに、一時ファイルを使わないサンプル。 Option Strict Off Imports System.Runtime.InteropServices を宣言して、ADOを参照設定しておいてください。
<ComImport(), Guid("0000010c-0000-0000-C000-000000000046"), _ InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ Interface UCOMIPersist Sub GetClassID(ByRef pClassId As Guid) End Interface
<ComImport(), Guid("7FD52380-4E07-101B-AE2D-08002B2EC713"), _ InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _ Interface UCOMIPersistStreamInit Inherits UCOMIPersist Shadows Sub GetClassID(<Out()> ByRef pClassId As Guid) <PreserveSig()> Function IsDirty() As <MarshalAs(UnmanagedType.U4)> Boolean Sub Load(<[In]()> ByVal pStm As UCOMIStream) Sub Save(<[In]()> ByVal pStm As UCOMIStream, _ <[In](), MarshalAs(UnmanagedType.Bool)> ByVal fClearDirty As Boolean) Sub GetMaxSize(<Out(), MarshalAs(UnmanagedType.LPArray)> ByRef pCbSize As Long) Sub InitNew() End Interface
Private Sub AxWebBrowser1_DocumentComplete(ByVal sender As Object, _ ByVal e As AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent _ ) Handles AxWebBrowser1.DocumentComplete Dim ADOStream As New ADODB.StreamClass ADOStream.Open() ADOStream.Type = ADODB.StreamTypeEnum.adTypeBinary Dim UnmanagedStream As UCOMIPersistStreamInit UnmanagedStream = DirectCast(AxWebBrowser1.Document, UCOMIPersistStreamInit) UnmanagedStream.Save(ADOStream, False) System.Runtime.InteropServices.Marshal.ReleaseComObject(UnmanagedStream) Dim Message As String = CStr(e.uRL) & vbCrLf & CStr(ADOStream.Size) System.Runtime.InteropServices.Marshal.ReleaseComObject(ADOStream) MessageBox.Show(Message) End Sub
|