2013-10-17 137 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

链接已死亡 –