webrower
5296 ワード
ここに読み込む:http://blog.csdn.net/shanhe/article/details/397373
どのようにwebrowswerとIEにプログラミングしますか?
一、
仕事のため、IEのプログラミングを研究する必要がありますので、MSの関連資料を翻訳して、参考にしてください.
IEのシステム
WebBrowser Host
まず、COMの基礎知識が必要です.IE自体はCOM技術の典型的な応用です.私たちは一番上の階がWebBrowserの宿主(Host)であることを見ました.つまり、どのようなあなたがwebrowsr controlを再利用したいのですか?vbプログラムでもいいし、vcまたは他の言語のアプリケーションでもいいです.アプリケーションはactivexコントロールを収容できるコンテナでなければなりません.
Webrowswer controlはactivex controlでもあります.activex documentです. の宿主.コントロールとしては、ドキュメントコンテナとして任意のactivex容器に置くことができます.特殊なタイプのドキュメントserverを呼び出して、ドキュメントを表示します.docドキュメントを表示したい場合は、webrows controlはwindows wordを搭載しています.これに対して、webrowsはmshtmlというコンポーネントを搭載しています.异なるドキュメントに対して、异なるアプリケーションを开発する必要はなく、webrowswetrolを呼び出すだけでいいです.
Shdocvw
Shdocvw.dllはwebrowswetrolを含んでいます. ,webrows er controlを制御する(他の任意のactivex comを制御するように. コントロールと同じです.webrowswer controlは第二級にあります.IEも直接ではなく、shdocw.dllを通じてwebrows.controlを使用します.shdocvwは大部分のブラウズ機能を提供しているが、IEウィンドウのレンダリング機能を提供していない.それでも、shdocvwは簡単にウェブを作成することを提供しました. アプリケーションの能力.その後、章ではieの高級な特性をあなたのアプリケーションに加える方法を説明します.
MSHTML
初期のmshtmlには読み表示の機能があります.MSHTMLは実際にactiveです. 文書サーバは、他のコントロールのコンテナとして使用できます.覚えていますか?activexコントロールをhtmlに置いてもいいです.この時mshtmlはactivex宿主です.他のコントロールもvbscriptのようにコントロールできます. スクリプトエンジンとjavascriptスクリプトエンジン、java apple、geszhong、各種プラグイン—は意外ですが、plug-innはすべてie activexの仕様に従って書いています.
二、
WebBrowser Control を選択します インターネットExplorer
二つの共通点が多すぎて、あなたはCOMインターフェースを通じてその機能を訪問します.webrowswerコントロールを呼び出すときは、webrowswerオブジェクトを使用し、vcではclass ID CLSID_uを使用する.WebBrowserのインターフェースクラスです.
自動化ieの場合は、名前を確立しなければなりません. InternetExplorerのオブジェクト、vcなどの言語ではclass ID CLSID(u)を使用します.インターフェースクラスです.
インターフェース
webrowswerには4つのインターフェースがあります.そのうち3つは全部の機能を提供します.4番目のDWebBrowserEvents 2インターフェース露出イベントです.
ie 4 以前は、IwebBrowserとIwebBrowserAppleの2つのインターフェースのみで、同じ機能を共有していましたが、ie 4を開発すると、第3のインターフェースIWebBrowser 2に参加してwebrowerの機能を拡張することにしました.このインターフェースは第二インターフェースから生まれました.
IWebBrowser
IWebBrowser WebBrowser controlの最初のインターフェースだけです. 基本的には、例えばウェブページをナビゲーションする機能が提供されます. 他の派生インターフェースの基礎インターフェースとして,8つの方法と30つの属性がある.
方法
説明
GoBack
履歴リストの前のページに移動
GoForward
履歴書の次の項目に移動します.
GoHome
デフォルトのページに移動します.
GoSearch
デフォルトの検索ページにナビゲータ
Navigate
ページまたはページにナビゲータ
Refresh
現在のページを更新
Refresh 2
更新レベルは以下のように選択できます.
REFRESH_NORMAL 通常リフレッシュでHTTPは送信されません. pragma:nocache サーバへ
REFRESH_IFREXPIRED ページが失効した場合のみ、更新要求を送信します.
REFRESH_CONTINUE 内部での使用は、プログラミング時には使用しないでください.
REFRESH_COMPLETELY HTTPを送信 pragma:nocache header サーバへ
Stop
現在のナビゲーションを停止します
WebBrowser controlは、あなたが必要とするナビゲーションのキャンセル及び前向きな方法を提供していますが、履歴リストにアクセスする方法はありません.直接にプロパティLocationURを通して、現在のページのURLを取得できます.
VBまたはVC++でGoBackを呼び出します. 和 GoForward 方法は簡単です.WebBrowser controlまたはInternet Explorerオブジェクトを使用できます.例えば、VBでは次のように呼び出すことができます.
最初のパラメータは URLは、ウェブページの位置や名前、またはどこのファイルをロードしたいですか?(回拭きタイプは BSTR.)URLは、HTTPおよびFILEのような標準URLプロトコルタイプのものであってもよく、またはフルコースのファイル名を持つローカルファイルシステム、例えばC:/MyFile.htm.
2番目のパラメータ、 Flaggasは、特定のURLをどこに載せるかを指定できます. バリアンの針) Flags という名前の値から BrowserNavConstants のエニュメレーションの種類は、ExDisp.hヘッダファイルに定義されており、6つの値があります.詳細には次のリストを参照してください.一つ以上のFlagsを指定できます. パラメータ値(現在実装されていないものがあります.) navOpenInNewWindow.URLを表示するために新しいウィンドウを開くようになります.デフォルトでは、自分のアプリケーションでWebBrowser controlを制御すると、これらの値は新しいInternet Explorerブラウザのウィンドウが開きます. navNoHistory. このURLをURL履歴リストに追加しないことを指定します. navNoReadFroomCache. 現時点では実現されていません. navNoWriteToCache. 現時点では実現されていません. navAllowAutoSearch. 指定されたURLが見つからない場合、自動検索機能は通常のトップドメイン、例えば.com.net.orgにナビゲーションして正しいURLを見つけます.もし失敗したら、 URLは検索エンジンに渡されます. navBrowserBar. できれば URL 読み込み先 Explorer のアドレスバーBarです 3番目のパラメータ Target Frame Name.webページのどのframeがナビゲーションされるかを指定します.この文字列はウェブページに存在する名前または指定された値になります. _トップ または _search. _トップ 値指定URLは、現在の最上位ウェブページによって現在のページに存在しないframeにロードされます. _search 検索パネルが開かれます.指定されたframe名が発見されていない場合は、新しいInterExplorerウィンドウが開きます.
あなたが使ってもいいです PostData パラメータ (4番目)HTTPpostトランザクションにより指定された特定のデータをサーバに送信します. VRIANTのポインタ)Post処理は、HTMLフォームで収集されたデータをサーバに送信するためのものです.このパラメータがデータを指定していない場合、 Navigate 方法はGet方法を使用します.また、HTTPプロトコルのURLを指定しないと、 PostData パラメータは無視されます.
5番目のパラメータも使用できます. Headers を選択してHTTPを送信します ヘッド情報はサーバに行きます.(Tパラメータの種類は、指向です. バリアンの針) これらのヘッダ情報は WebBrowser コントロールは常に送信されます. として PostData パラメータ 最初のパラメータを指定しないなら、 Headers 無視されます
転載先:https://www.cnblogs.com/gaoshanxiaolu/archive/2012/12/05/2802869.html
どのようにwebrowswerとIEにプログラミングしますか?
一、
仕事のため、IEのプログラミングを研究する必要がありますので、MSの関連資料を翻訳して、参考にしてください.
IEのシステム
WebBrowser Host
まず、COMの基礎知識が必要です.IE自体はCOM技術の典型的な応用です.私たちは一番上の階がWebBrowserの宿主(Host)であることを見ました.つまり、どのようなあなたがwebrowsr controlを再利用したいのですか?vbプログラムでもいいし、vcまたは他の言語のアプリケーションでもいいです.アプリケーションはactivexコントロールを収容できるコンテナでなければなりません.
Webrowswer controlはactivex controlでもあります.activex documentです. の宿主.コントロールとしては、ドキュメントコンテナとして任意のactivex容器に置くことができます.特殊なタイプのドキュメントserverを呼び出して、ドキュメントを表示します.docドキュメントを表示したい場合は、webrows controlはwindows wordを搭載しています.これに対して、webrowsはmshtmlというコンポーネントを搭載しています.异なるドキュメントに対して、异なるアプリケーションを开発する必要はなく、webrowswetrolを呼び出すだけでいいです.
Shdocvw
Shdocvw.dllはwebrowswetrolを含んでいます. ,webrows er controlを制御する(他の任意のactivex comを制御するように. コントロールと同じです.webrowswer controlは第二級にあります.IEも直接ではなく、shdocw.dllを通じてwebrows.controlを使用します.shdocvwは大部分のブラウズ機能を提供しているが、IEウィンドウのレンダリング機能を提供していない.それでも、shdocvwは簡単にウェブを作成することを提供しました. アプリケーションの能力.その後、章ではieの高級な特性をあなたのアプリケーションに加える方法を説明します.
MSHTML
初期のmshtmlには読み表示の機能があります.MSHTMLは実際にactiveです. 文書サーバは、他のコントロールのコンテナとして使用できます.覚えていますか?activexコントロールをhtmlに置いてもいいです.この時mshtmlはactivex宿主です.他のコントロールもvbscriptのようにコントロールできます. スクリプトエンジンとjavascriptスクリプトエンジン、java apple、geszhong、各種プラグイン—は意外ですが、plug-innはすべてie activexの仕様に従って書いています.
二、
WebBrowser Control を選択します インターネットExplorer
二つの共通点が多すぎて、あなたはCOMインターフェースを通じてその機能を訪問します.webrowswerコントロールを呼び出すときは、webrowswerオブジェクトを使用し、vcではclass ID CLSID_uを使用する.WebBrowserのインターフェースクラスです.
自動化ieの場合は、名前を確立しなければなりません. InternetExplorerのオブジェクト、vcなどの言語ではclass ID CLSID(u)を使用します.インターフェースクラスです.
インターフェース
webrowswerには4つのインターフェースがあります.そのうち3つは全部の機能を提供します.4番目のDWebBrowserEvents 2インターフェース露出イベントです.
ie 4 以前は、IwebBrowserとIwebBrowserAppleの2つのインターフェースのみで、同じ機能を共有していましたが、ie 4を開発すると、第3のインターフェースIWebBrowser 2に参加してwebrowerの機能を拡張することにしました.このインターフェースは第二インターフェースから生まれました.
IWebBrowser
IWebBrowser WebBrowser controlの最初のインターフェースだけです. 基本的には、例えばウェブページをナビゲーションする機能が提供されます. 他の派生インターフェースの基礎インターフェースとして,8つの方法と30つの属性がある.
方法
説明
GoBack
履歴リストの前のページに移動
GoForward
履歴書の次の項目に移動します.
GoHome
デフォルトのページに移動します.
GoSearch
デフォルトの検索ページにナビゲータ
Navigate
ページまたはページにナビゲータ
Refresh
現在のページを更新
Refresh 2
更新レベルは以下のように選択できます.
REFRESH_NORMAL 通常リフレッシュでHTTPは送信されません. pragma:nocache サーバへ
REFRESH_IFREXPIRED ページが失効した場合のみ、更新要求を送信します.
REFRESH_CONTINUE 内部での使用は、プログラミング時には使用しないでください.
REFRESH_COMPLETELY HTTPを送信 pragma:nocache header サーバへ
Stop
現在のナビゲーションを停止します
WebBrowser controlは、あなたが必要とするナビゲーションのキャンセル及び前向きな方法を提供していますが、履歴リストにアクセスする方法はありません.直接にプロパティLocationURを通して、現在のページのURLを取得できます.
VBまたはVC++でGoBackを呼び出します. 和 GoForward 方法は簡単です.WebBrowser controlまたはInternet Explorerオブジェクトを使用できます.例えば、VBでは次のように呼び出すことができます.
WebBrowser1.GoBack ' Hosting WebBrowser control
VC++中は以下の通りですInternetExplorer1.GoForward ' Automating Internet Explorer object
にもかかわらず GoBack 和 GoForward 方法は非常に重要であり、WebBrowser controlまたは自動化操作Internet Explorerを制御する場合、 Navigate isは最も重要な方法です. Navigate 特定のウェブページまたはファイルへのナビゲーションを許可します. Navigate 5つのパラメータを持つことで、ナビゲーションおよび他の定義されたナビゲーション動作を実現するための特定のURLを指定できます.最初のパラメータは URLは、ウェブページの位置や名前、またはどこのファイルをロードしたいですか?(回拭きタイプは BSTR.)URLは、HTTPおよびFILEのような標準URLプロトコルタイプのものであってもよく、またはフルコースのファイル名を持つローカルファイルシステム、例えばC:/MyFile.htm.
2番目のパラメータ、 Flaggasは、特定のURLをどこに載せるかを指定できます. バリアンの針) Flags という名前の値から BrowserNavConstants のエニュメレーションの種類は、ExDisp.hヘッダファイルに定義されており、6つの値があります.詳細には次のリストを参照してください.一つ以上のFlagsを指定できます. パラメータ値(現在実装されていないものがあります.)
あなたが使ってもいいです PostData パラメータ (4番目)HTTPpostトランザクションにより指定された特定のデータをサーバに送信します. VRIANTのポインタ)Post処理は、HTMLフォームで収集されたデータをサーバに送信するためのものです.このパラメータがデータを指定していない場合、 Navigate 方法はGet方法を使用します.また、HTTPプロトコルのURLを指定しないと、 PostData パラメータは無視されます.
5番目のパラメータも使用できます. Headers を選択してHTTPを送信します ヘッド情報はサーバに行きます.(Tパラメータの種類は、指向です. バリアンの針) これらのヘッダ情報は WebBrowser コントロールは常に送信されます. として PostData パラメータ 最初のパラメータを指定しないなら、 Headers 無視されます
転載先:https://www.cnblogs.com/gaoshanxiaolu/archive/2012/12/05/2802869.html