インターネット環境があるかを知る方法


ゴリ  2011-10-14 17:51:36  No: 103072  IP: 192.*.*.*

お世話になります。  VB6をいじっています。
インターネットのサイトの情報を読み込むボタンを作ってあるのですが屋外でも使うようなソフトであるためこのボタンを押すとエラーとなってしまいます。これを回避するために事前に現在インターネット環境にあるかを検知してボタンを隠してしまいたいと思います。ユーザーに知られない間に環境の有無を判別する方法があったらよろしくお願いします。

編集 削除
魔界の仮面弁士  2011-10-17 22:54:18  No: 103073  IP: 192.*.*.*

> 屋外でも使うようなソフトであるため
モバイル回線を持たない環境ということでしょうか。

> このボタンを押すとエラーとなってしまいます。
VBで自作したソフトなら、On Error 等でエラーを検出して、
エラーメッセージを抑制してみては如何でしょう。

> 現在インターネット環境にあるかを検知して
InternetGetConnectedState という API があります。
ただ、切断検知には多少時間がかかるようですし、実際にサーバーに
到達できることを保証するわけではありませんけれども。

Win32_PingStatus クラスか IcmpSendEcho API を使って、
目的のサーバーあるいはgoogle や yahoo などに
Ping を発行した方が確実かもしれません。

編集 削除
ゴリ  2011-10-19 11:31:12  No: 103074  IP: 192.*.*.*

魔界の仮面弁士様  ご回答をありがとうございます。
接続を確認するにはいずれの方法でもにはやはり一度接続をトライしてみてその結果から接続の可否を判断するということのようですので一番身近なOn Errorを使って処理しようかと思って試しました。On Errorをつけて
WebBrowser1.Navigate "http://  ・・・
とし、イーサネットを外してやってみたところエラートラップには掛かりませんでした。(プログラム上でのエラーではないため?)次の方法でトライしてみます。  ありがとうございました。

編集 削除