2013-10-17 139 views
5

我在.Net 4.0客戶端下開發的WPF和C#中有一個桌面應用程序 根據PC上是否可用互聯網顯示或隱藏某些數據的框架。 這意味着如果互聯網斷開或連接以便做出反應,我必須儘快檢測。 (實施例可以是來自無線網絡斷開或拔出網絡電纜)當互聯網連接或斷開連接時收到通知

正如我研究了一下我發現的事件在被稱爲NetworkAvailabilityChangedNetworkChange一個觸發間隔時間的連接的變化(link to docs)是否存在。

我正在開發一個Windows 8機器,當我嘗試它時事件沒有被解僱,但是當我在Windows 7上運行應用程序時,事件被解僱。正如在文檔中說,與該框架4.0的兼容性,該事件是Windows 7,但在框架4.5兼容性文檔中查看相同的事件稱Windows 8也。

的問題是,即使我切換項目的目標框架4.5(這是不是想法)事件將不會觸發在Windows 8

有沒有我的任何不兼容問題沒有意識到?連接改變時是否有更好的方式來通知?

我需要的,如果可能的框架4.0客戶端在Windows Vista中,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實現進行了介紹。 (你可以檢查一些examples

正確引用添加到項目中是很重要的:

enter image description here

然後就可以從鏈接效仿的榜樣,是真的很短,並直接向點。

+0

很高興我能幫到你。 –

+0

鏈接已死亡 –