teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

WebBrowserの使用例を追記

2018/04/11 09:44

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -8,4 +8,37 @@
8
8
  例えば、以下サイトを参考にしてみてください。
9
9
  https://www.ipentec.com/document/csharp-change-webbrower-control-internet-explorer-version
10
10
 
11
- その他、「WebBrowser IE バージョン 変更」などでググると、色々とヒットします。
11
+ その他、「WebBrowser IE バージョン 変更」などでググると、色々とヒットします。
12
+
13
+ ---
14
+ 追記:
15
+ サンプルを作成してみました。
16
+ 今回作成するサンプルアプリをWBTest.exeとします。
17
+ まず、レジストリエディタでHKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATIONにWBTest.exeの情報を追加します。
18
+ (デバッグを行う際はWBTest.vshost.exeも登録します。)
19
+ ![レジストリエディタ](b69444a682fd3db49355365dd6610d3e.gif)
20
+
21
+ このアプリでは、Form1にWebBrowser1, Button1, Button2を配置します。
22
+ あとは、以下のようなコードを書いてみました。
23
+ ```VB.Net
24
+ Public Class Form1
25
+ Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
26
+ If e.Url = WebBrowser1.Url Then
27
+ MsgBox("読込完了")
28
+ End If
29
+ End Sub
30
+
31
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
32
+ WebBrowser1.Navigate("https://dictionary.goo.ne.jp/")
33
+ End Sub
34
+
35
+ Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
36
+ WebBrowser1.Navigate("https://www.excite.co.jp")
37
+ End Sub
38
+ End Class
39
+ ```
40
+ このサンプルでは、WebBrowser1_DocumentCompletedイベントで、対象のURLの読込が終わったときにメッセージボックスを表示していますが、この時まではWebBrowserや表示ページのクリック等の操作はしない方が良いようです。
41
+ (読込途中のjsがスクリプトエラーになるかも知れない?)
42
+
43
+ とりあえず、このサンプルでスクリプトエラーは確認できませんでしたが、もしかしたら100%ではないかも知れません。
44
+ 本来の目的とは無関係なスクリプトであれば、WebBrowser1のScriptErrorsSuppressedプロパティをTrueにすることが有効かも知れません。