2013-10-17 22 views
5

私はWPFでデスクトップアプリケーションを、.NET 4.0クライアントで開発したC#を公開しています。 これは、反応するためにインターネットが切断されているか接続されている場合は、できるだけ早く検出する必要があることを意味します。私はイベントが接続の変更(link to docs)毎に発射NetworkAvailabilityChangedというクラスNetworkChangeに存在することが見出されたビットを調査ようインターネットが接続または切断されたときに通知を受け取ります

(例は、無線ネットワークから切断またはネットワークケーブルを抜くことができます)。

私はWindows 8マシンで開発中ですが、試してみるとイベントは発生しませんが、Windows 7でアプリケーションを実行するとイベントが発生します。ドキュメントのように、そのイベントのためのフレームワーク4.0の互換性は、Windows 7までですが、フレームワーク4.5の互換性のためのドキュメントで同じイベントを見てもWindows 8と言います。

問題は、私は(考えではないです)4.5にプロジェクトのターゲットフレームワークを切り替えてもイベントは、Windows 8上

を発射しないことである私は任意の非互換性の問題があります実現しない?接続が変更されたときに通知を受け取る良い方法はありますか?

可能であれば私は同じ研究中に、このリンクに出くわし7と8

+0

http://stackoverflow.com/questions/1085045/check-whether-internet-connection-is-available-with-c-sharp/7536247#7536247 –

+0

両方のマシンでネットワークアダプタのステータスを確認します。彼らは両方とも*接続されていない状態の*すべての*ネットワークアダプタを持っていますか? –

答えて

1

@William Rileyの答えは、私がそれを行う方法を見つけるのを助けます。

最後に、Windows APIのネットワークリストマネージャを使用して、MicrosoftのCOM実装を使用するようにしています。 、本当に短いと直接的であるその後

enter image description here

ちょうどあなたがリンクから例に従うことができます:

プロジェクトへの正しい参照を追加することが重要である(あなたには、いくつかのexamplesを確認することができます)ポイント。

+0

うれしい私は助けることができます。 –

+0

リンクが無効です –

関連する問題