Visual Basic.netアプリケーションでIEの代わりにWEBKitを使用する

Visual Basic.netアプリケーションでIEの代わりにWEBKitを使用する



エピローグ


長い間、私はこの問題の解決策を探していましたが、昨日、偶然にC#でこれを行う方法を説明する1つのサイトに出会いました。

考え直すことなく、私はVisual Basic.netでそれをやろうとしましたが、見ていると、私の小さなプログラムに迷惑なIEウィンドウが表示されなくなります。

私自身はプログラマーとはほど遠いので、これは初心者のために書かれたこの記事の趣味であるとすぐに言わなければなりません。

上級プログラマーは新しいものを目にすることはありません。



開始する


まず、 Visual Studioを実行し、 Visual Basic環境で新しいWindowsフォームプロジェクト作成します。

何も変更せず、プロジェクト全体をデフォルトのフォルダーに保存します。

私が持っている: C:\ Users \ Jey \ Documents \ Visual Studio 2012 \ Projects

スクリーンショット
画像






webkitdotnet.sourceforge.netにアクセスしてください

(ライブラリのライセンスに関する情報に注意を払う価値があります。ページの下部には「WebKit .NETはBSDオープンソースライセンスの下でライセンスされています」と書かれています。

[ ダウンロード ]セクションに移動し、[ Win32バイナリ ]リンクをクリックします

ダウンロードページに移動します。ここで少し待つ必要があり、アーカイブのダウンロードが開始されます。

私の場合、WebKit.NET-0.5-bin-cairo.zipと呼ばれていました

アーカイブ内にBINフォルダーを見つけ、プロジェクトディレクトリ内のbinフォルダー内のDebugフォルダーに解凍します。

私の場合は「C:\ Users \ Jey \ Documents \ Visual Studio 2012 \ Projects \ WebKit \ WebKit \ bin \ Debug」です。

そこから削除しますWebKitBrowserTest.exeは既に組み立てられたテストブラウザです。



Uターン


ウィンドウをツールバーの右側(デフォルト)でVisual Studioに切り替え、右クリック

マウスボタンを使用して、表示されるコンテキストメニューで[アイテムの選択]を選択します。 「選択」ウィンドウが開きます。

ツールバーの要素」(小さなソフトトートロジー)。 NET.Frameworkの[コンポーネント]タブ(デフォルトで開く)

参照ボタンをクリックし、アーカイブが解凍されたフォルダーから、私の場合はWebKitBrowser.dllを選択し、パスを

ライブラリは次のようになりました。

「C:\ Users \ Jey \ Documents \ Visual Studio 2012 \ Projects \ WebKit \ WebKit \ bin \ Debug \ WebKitBrowse r.dll。」

これで、通常のWebBrowserの下のツールバーにWebKitBrowserもあります。

さて、たとえば、フォームにそれを投げます:

スクリーンショット
画像






そして、かわいらしさのフォームの上に、ToolStripをドロップし、その上に4つのボタンとTextboxを配置できます。

WebKitBrowser1のプロパティでAnchorプロパティを見つけ、値「 Top、Bottom、Left、Right 」を書き込みます。 これにより、ウィンドウが許可されます

ブラウザは周囲の要素に合わせて自動的に拡大縮小します(この場合、境界線の両側と下部

フォーム、およびToolStripメニューの上部)からフォームのサイズを変更します。

そして今、それはすべてこのように見えます:

スクリーンショット
画像






ボタンのコードを記述します。

'  Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click WebKitBrowser1.GoBack() End Sub '  Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click WebKitBrowser1.GoForward() End Sub '  Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click WebKitBrowser1.Refresh() End Sub '  Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click If ToolStripTextBox1.Text <> "" Then WebKitBrowser1.Navigate(ToolStripTextBox1.Text) End If End Sub
      
      







WebKitでブラウザをコンパイルして楽しんでいます。

habrahabr.ruのスクリーンショット
画像






おわりに


たとえば、リリース構成でコンパイルする場合、Visual Studio自体がWebKitBrowser.dllライブラリを適切なディレクトリに転送しますが、これは起動するのに十分ではなく、少なくとも私のブラウザーは起動しませんでした。 これは、プログラムの背後にあるコンポーネントを使用して、アーカイブからbinフォルダーの残りのコンテンツをドラッグする必要があることを示唆しています。 これを確認して、アーカイブにはREADME.TXTがあります。

...このパッケージには、WebKit.NETのバイナリリリースが含まれています。

WebKitのCairoビルド。 このリリースに含まれるファイルは次のとおりです。

bin / WebKit.dll-WebKitライブラリ。

bin / WebKitBrowser.dll-WebKit.NETコントロールライブラリ。 参照を追加する

コントロールを使用する場合は、このライブラリ。

bin / WebKit.Interop.dll-WebKit.NETがWebKitとのインターフェースに使用するライブラリ

COM相互運用機能を介して。

bin / WebBrowserTest.exe-の使用を示すシンプルなアプリケーション

WebKit.NETコントロール。

bin / *。dll-WebKit.dllに必要な依存関係。

docs / WebKit .NET API Reference.chm-CHM形式のAPIリファレンス...


IEとWebKit.netの使用の違い

IEを使用する場合(バージョンに関係なく)、完成した.exeのサイズは最小で、40 kb以下です。 しかし、IEは実際にはプログラム内ではなくOS内にあるため、何らかの理由でOS内で動作しない場合、プログラム内で停止する可能性があることを覚えています。

WebKit.netの場合、プログラムとすべての必要なDLLを含むフォルダーのサイズは30 mb以上になります。

違いは大きいですか? 映画のサイズが100 GBになる可能性がある世紀に、私は知りません。

ご存じのように、IEはjsスクリプトを使用する方法を知りません(動作しませんが、動作しません)。 WebKitはIEがエラーを注入したエラーのないページを完全に表示しました。

これまでのところ、コメントに記載されている他のエンジンをテストする時間はありませんでしたが、それを理解できれば間違いなく試してみます。



All Articles