1

インターネット接続の種類 (ブロードバンド、ダイヤルアップ、ワイヤレス) に基づいていくつかのレジストリ値を設定する必要があるインストール プログラム (Windows インストーラ ベースではなく、通常の C++ MFC プログラム) があります。現在、この情報は、一連の「はい」または「いいえ」の質問をすることによって決定されています。問題は、インストールを行っている人物が、コンピューターを所有して使用している人物とは異なるため、これらの質問に対する答えがどうあるべきか常に確信できるとは限らないことです。この情報をプログラムで判断する方法はありますか? コードは、Windows XP 以降の C++ (およびオプションで MFC) で記述されています。.NET ベースのソリューションはオプションではありません。インストール プログラムを実行する前に、フレームワークがインストールされているかどうかを確認する必要がないからです。

明確にするために、問題は主に、ワイヤレス接続とダイヤルアップ接続が「常時接続」ではないことです。これにより、サーバーが常に利用可能であるとは限らないため、製品が別の方法で動作する必要が生じます。したがって、厳密に速度を測定するソリューションは役に立ちませんが、速度に依存する設定があり、製品が接続するとすぐにダイアルアップ接続を介して MB の情報を送信しようとしません.

4

6 に答える 6

3

[あなたが求めた情報を正確に取得する方法はわかりませんが...] 達成しようとしていることを (自分自身で) 言い換えることができますか? 同様に、「ユーザーはブロードバンドまたはダイヤルアップを使用していますか」と尋ねる代わりに、「ユーザーのインターネット接続の帯域幅はどれくらいですか」と尋ねます。その後、ユーザー入力なしで (帯域幅を測定するなどして) 言い換えられた質問に答えることができます。

ところで。ユーザーに「ブロードバンドまたはダイヤルアップ」だけを尋ねると、いくつかの問題が発生する可能性があります。

  • ユーザーが予期しない接続タイプを持っている場合はどうなりますか?
  • ユーザーが知らない場合 (イーサネット ケーブルが PPPoE DSL モデム/ルーターに接続されているだけなので)?
  • ユーザーが一連の接続 (ダイアルアップ経由の VPN、ブロードバンドを備えた他のネットワーク) を介して接続されている場合はどうなりますか?

そのような場合は、「タイプ」ではなく「機能」を尋ねる方が役立つ場合があります。

于 2008-09-18T15:37:53.777 に答える
2

InternetGetConnectedState APIを使用して、インターネット接続状態を取得します。

私はそれをテストしました、そしてそれはうまく働きます。

私はこのドキュメントを見つけました:

http://www.pcausa.com/resources/InetActive.txt

于 2010-01-18T20:47:12.673 に答える
1

「インターネット接続は永続的ですか?」という質問について:

  • 最善の方法は、おそらくアプリを十分に堅牢にして、非永続的な接続に常に対処できるようにすることです:-) ダイヤルアップとブロードバンドで同じように機能します...
  • または、ユーザーのインターネット接続がすでに確立されている時間を調べて、システムの稼働時間と比較できますか? 接続がコンピューターの実行中とほぼ同じ時間オンラインであった場合、それはおそらく永続的な接続です。

とにかく、これらのヒューリスティックは、あいまいな接続タイプでは失敗する可能性があります。

また、大量のデータを送信しないという点については、「ブロードバンド + 低トラフィック制限」の料金を使用している場合は、帯域幅が許されていても、大量のデータを送信しないでください :-)

于 2008-09-18T17:10:25.567 に答える
0

最善の策は、デフォルトのアクティブなネットワーク接続を取得し、それがインターネット接続 (ping google.com など) であることを確認してから、デバイスの種類を尋ねることです。それから、ユーザーがどのような接続を持っているかを判断できるはずです。

私はこれが可能であるとかなり確信していますが、それをどのように行うかはわかりません。

于 2008-09-18T15:27:06.967 に答える
0

あなたが暗示しているように、私はオリバーに同意します。接続損失に対処するための機能が既にあるので、デフォルトで有効にしないでください。

ブロードバンド接続が台無しになる可能性があります: フリーズするルーターソフトウェア (私にはよく起こります)、またはフライするパワーアダプター...

于 2008-09-18T17:34:04.590 に答える
0

簡単な接続速度テストを行うべきだと思います。特定のサイズのファイルをダウンロードして、所要時間を計測するだけで、速度がわかります。私は他の人に同意します。彼らがどのタイプの接続を持っているかを彼らに尋ねないでください。もっと重要なのは速度です。おそらく来年には 100 メガビットのダイヤルアップが登場します...この驚くべき新しいデバイスを使用しているすべての人に、あなたのアプリの低帯域幅バージョンを入手してもらいたいですか?

于 2008-09-18T15:45:41.963 に答える