Win32 API 日本語リファレンス
ホームUI.Shell › IWebBrowser

IWebBrowser

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDeab22ac1-30c1-11cf-a7eb-0000c05bae0b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 25

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT GoBack()
vtbl 8 HRESULT GoForward()
vtbl 9 HRESULT GoHome()
vtbl 10 HRESULT GoSearch()
vtbl 11 HRESULT Navigate(LPWSTR URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers)
URLLPWSTRin移動先の URL またはファイルパスを指定する。
FlagsVARIANT*inoptionalナビゲーション動作を制御するフラグを保持する VARIANT へのポインタである。省略可能である。
TargetFrameNameVARIANT*inoptional表示先となるフレーム名を保持する VARIANT へのポインタである。省略可能である。
PostDataVARIANT*inoptionalHTTP POST 操作で送信するデータを保持する VARIANT へのポインタである。省略可能である。
HeadersVARIANT*inoptional要求に付加する追加 HTTP ヘッダーを保持する VARIANT へのポインタである。省略可能である。
vtbl 12 HRESULT Refresh()
vtbl 13 HRESULT Refresh2(VARIANT* Level)
LevelVARIANT*inoptional更新の強さ(キャッシュの使用程度)を示すレベルを保持する VARIANT へのポインタである。
vtbl 14 HRESULT Stop()
vtbl 15 HRESULT get_Application(IDispatch** ppDisp)
ppDispIDispatch**outブラウザーを所有するアプリケーションの自動化オブジェクトを受け取る IDispatch へのポインタである。
vtbl 16 HRESULT get_Parent(IDispatch** ppDisp)
ppDispIDispatch**out親オブジェクトの自動化インターフェイスを受け取る IDispatch へのポインタである。
vtbl 17 HRESULT get_Container(IDispatch** ppDisp)
ppDispIDispatch**outブラウザーを格納しているコンテナーの自動化インターフェイスを受け取る IDispatch へのポインタである。
vtbl 18 HRESULT get_Document(IDispatch** ppDisp)
ppDispIDispatch**out現在表示中のドキュメントの自動化インターフェイスを受け取る IDispatch へのポインタである。
vtbl 19 HRESULT get_TopLevelContainer(VARIANT_BOOL* pBool)
pBoolVARIANT_BOOL*outこのオブジェクトが最上位のコンテナーであるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 20 HRESULT get_Type(LPWSTR* Type)
TypeLPWSTR*out格納されているドキュメントの型名を表す文字列を受け取るポインタである。
vtbl 21 HRESULT get_Left(INT* pl)
plINT*outウィンドウの左端のスクリーン座標を受け取る INT へのポインタである。
vtbl 22 HRESULT put_Left(INT Left)
LeftINTinウィンドウの左端に設定するスクリーン座標を指定する。
vtbl 23 HRESULT get_Top(INT* pl)
plINT*outウィンドウの上端のスクリーン座標を受け取る INT へのポインタである。
vtbl 24 HRESULT put_Top(INT Top)
TopINTinウィンドウの上端に設定するスクリーン座標を指定する。
vtbl 25 HRESULT get_Width(INT* pl)
plINT*outウィンドウの幅(ピクセル)を受け取る INT へのポインタである。
vtbl 26 HRESULT put_Width(INT Width)
WidthINTinウィンドウに設定する幅(ピクセル)を指定する。
vtbl 27 HRESULT get_Height(INT* pl)
plINT*outウィンドウの高さ(ピクセル)を受け取る INT へのポインタである。
vtbl 28 HRESULT put_Height(INT Height)
HeightINTinウィンドウに設定する高さ(ピクセル)を指定する。
vtbl 29 HRESULT get_LocationName(LPWSTR* LocationName)
LocationNameLPWSTR*out現在表示中のリソースの名称(ページタイトルやフォルダー名)を受け取る文字列ポインタである。
vtbl 30 HRESULT get_LocationURL(LPWSTR* LocationURL)
LocationURLLPWSTR*out現在表示中のリソースの URL を受け取る文字列ポインタである。
vtbl 31 HRESULT get_Busy(VARIANT_BOOL* pBool)
pBoolVARIANT_BOOL*outナビゲーションやダウンロードが進行中かどうかを受け取る VARIANT_BOOL へのポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWebBrowser "{EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}"
#usecom global IWebBrowser IID_IWebBrowser "{8856F961-340A-11D0-A96B-00C04FD705A2}"
#comfunc global IWebBrowser_GoBack                 7
#comfunc global IWebBrowser_GoForward              8
#comfunc global IWebBrowser_GoHome                 9
#comfunc global IWebBrowser_GoSearch               10
#comfunc global IWebBrowser_Navigate               11 wstr,var,var,var,var
#comfunc global IWebBrowser_Refresh                12
#comfunc global IWebBrowser_Refresh2               13 var
#comfunc global IWebBrowser_Stop                   14
#comfunc global IWebBrowser_get_Application        15 sptr
#comfunc global IWebBrowser_get_Parent             16 sptr
#comfunc global IWebBrowser_get_Container          17 sptr
#comfunc global IWebBrowser_get_Document           18 sptr
#comfunc global IWebBrowser_get_TopLevelContainer  19 var
#comfunc global IWebBrowser_get_Type               20 var
#comfunc global IWebBrowser_get_Left               21 var
#comfunc global IWebBrowser_put_Left               22 int
#comfunc global IWebBrowser_get_Top                23 var
#comfunc global IWebBrowser_put_Top                24 int
#comfunc global IWebBrowser_get_Width              25 var
#comfunc global IWebBrowser_put_Width              26 int
#comfunc global IWebBrowser_get_Height             27 var
#comfunc global IWebBrowser_put_Height             28 int
#comfunc global IWebBrowser_get_LocationName       29 var
#comfunc global IWebBrowser_get_LocationURL        30 var
#comfunc global IWebBrowser_get_Busy               31 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。