2012-05-07 9 views
0

ユーザーがオフラインの場合、ローカルHTMLファイルを読み込む必要があるアプリケーションがあります。埋め込まれていないコントロールを使用してWebアプリケーションを読み込む必要があります。ユーザーがC++デスクトップアプリケーションでオンラインかどうかを確認する方法

ブラウザコントロールが埋め込まれたC++デスクトップアプリケーションを使用して、オンラインになっているかどうかを確認するにはどうすればよいですか?

+1

は同じ(またはそれ以上)の機能を持つ新しいCOMインターフェイスもありますか? – juanchopanza

+0

この情報をどのように使用しますか?いくつかのデータを取得したり、グーグルのような既知の良いホストにpingを試みたりするほうが簡単ですか? – RedX

+0

ユーザーがインターネットに接続していて、ウェブページを開くことができる場合、 – Marko

答えて

1

InternetGetConnectedState機能を試すことができます。しかし、特に、あなたは備考セクションで与えられたコメントを尊重していることを確認します

をInternetGetConnectedStateからTRUEの戻り値は、インターネットへ 少なくとも1つの接続は、あなたがまたしてもよい

利用可能であることを示しています特定のURLに InternetCheckConnection関数を直接使用してみてください。どのようにあなたは "オンラインであること" を定義します

+0

これはうまく見える、私はそれをテストします – Marko

0

www.google.comにpingを試みることができます。 Visual C++を使用している場合はIcmpSendEcho functionを使用できます。

+0

今のところそれを見る... – Marko

1

Network Location Awareness (NLA)を使用すると、マシンが接続されている現在のネットワークの特性を特定できます。これは、「ユーザーがオンラインであるかどうかをチェックするのと同じではありませんが、十分である必要があります。

インターネットにアクセスできない場合でも、アプリケーションが正しく読み込まれることを保証することはできません。オンラインのケースが正常であれば、オンラインロードを試したほうがいいかもしれませんし、失敗した場合はローカルHTMLに戻ってください。

+0

はい、転倒する方法はありますか?私はHTMLのタイトルを読もうとしましたが、ユーザーがオフラインのブラウザコントロールではなく、タイトルを読むのではなく、ドメインチェックを複雑にします – Marko

+0

@ Alfのコメントはどうですか? –

+0

しかし、ie6-8ユーザはhtml5を持っていません – Marko

関連する問題