Windows11の教科書

ウィンドウズ11やスマホで困ったことを調べたブログ

ウィンドウズ10やアプリで困ったことを調べたブログです。

スポンサーリンク


【Visual Studio】VBでインターネット関連の関数のまとめ

VBで便利な関数のまとめです。

今やネットワークと無縁なソフトを作ることも少ないのではないでしょうか。

ここではネット関連を調べたり操作する関数で使えそうなものをまとめてみました。

インターネット関連

wire #86

ネット接続をしらべる

接続しているかどうかは「My.Computer.Network.IsAvailable」を調べることで分かります。

 

以下は「My.Computer.Network.IsAvailable」がFalseなら接続してくださいというメッセージを出します。

 

If Not (My.Computer.Network.IsAvailable) Then
  MsgBox("インターネットに接続してください。")
End If

 

サーバにPingを送って調べる

サーバが稼働しているかを調べる手段の一つがPingを送ることです。

以下はPingを送って返りを待つサンプルコードです。

 

Dim pingObj As New System.Net.NetworkInformation.Ping()
Dim pingReply As System.Net.NetworkInformation.PingReply = pingObj.Send("www.yahoo.co.jp")
If pingReply.Status = System.Net.NetworkInformation.IPStatus.Success Then
  MsgBox(pingReply.RoundtripTime)
End If
pingObj.Dispose()

 

ネット上のファイルをダウンロード

インターネット上の画像ファイルなどをダウンロードするには「WebClient 」オブジェクトを利用します。

「DownloadFile」関数でURLリンクと、保存先のファイル名を指定します。

 

Dim Internet As Net.WebClient = New Net.WebClient()
Dim URL As String = "https://komatter.com/img/banner.png"
Dim fn As String = "C:\_work\temp.png"
Internet.DownloadFile(URL, fn)

 

 

 

ブラウザ関連

Pout

ウェブページをフォーム内に表示する

ウェブページをフォームの中に表示させる場合、コントロールをはるのが楽です。

 

ツールボックスで「WebBrowser」のコントロールを選択。

フォーム上にドラッグして配置します。

f:id:apicode:20190626231048p:plain

 

プロパティで「Url」のところにリンク先を指定します。

f:id:apicode:20190626231050p:plain

 

フォームを実行すると、無事このようにKomatter.comのサイトを表示できました。

f:id:apicode:20190626231052p:plain

 

 

ブラウザのURLを変更する

フォーム上に張り込んだブラウザのURLを変更する場合、文字列を指定するだけだとエラーになります。

Uri関数を使ってURLリンクを指定すると動作するようになります。

 

WebBrowser1.Url = New Uri("http://yahoo.com")

 

ウェブブラウザのスクリプトエラーへ対処する

スクリプトを使っているページではスクリプトエラーが出る場合があります。

対策としてWebBrowserにあるScriptErrorの表示設定をする方法があります。

しかしこれはエラーダイアログを抑えるだけで、ページの機能が使えない可能性は残ります。

 

ぐぐると、レジストリを変更してレンダリングエンジンを変更する方法があるようです。

Untitled - IE9エンジンをIEコンポーネントブラウザで使う

スクリプトエラーの原因と対策: DOBON.NETプログラミング掲示板過去ログ

 

 

Edgeを起動する

Edgeが起動できないか試してみます。

 

Edgeがインストールされているパスは「C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe」です。

 

それを指定してアプリの起動を試みます。

が、これではなぜか動きませんでした。

 

  Dim edgepath As String
   edgepath = "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe"
  System.Diagnostics.Process.Start(edgepath)

 

ただし既定のアプリをEdgeにしれば、URLのリンクで起動できるとは思います。

まず設定で既定のアプリをEdgeにします。

f:id:apicode:20190624211538p:plain

 

URLリンクを指定して既定のブラウザが開くようにします。

すると無事Edgeが動きました。

Dim edgepath As String
edgepath = "http://yahoo.co.jp"
System.Diagnostics.Process.Start(edgepath)

 

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ