当互联网连接或断开时得到通知

问题描述 投票:5回答:1

我在.Net 4.0客户端下开发了WPF和C#桌面应用程序必须根据PC上是否有Internet来显示或隐藏一些数据的框架。这意味着我必须能够尽快检测互联网是否断开或连接,以便做出反应。 (示例可能是断开无线网络连接或拔出网络电缆)

[我进行了一些研究后发现,在名为NetworkChange的类NetworkAvailabilityChanged中存在一个事件,该事件在每次连接更改(link to docs)时都会触发。

我正在Windows 8计算机上进行开发,当我尝试在Windows 8计算机上运行时,该事件未触发,但是当我在Windows 7上运行该应用程序时,则触发了该事件。就像文档中所说的那样,该事件的框架4.0兼容性要到Windows 7为止,但在文档中查看与框架4.5兼容性的同一事件也表明Windows 8也是如此。

问题是,即使我将项目的目标框架切换到4.5(这不是主意),该事件也不会在Windows 8上触发。

我没有意识到任何不兼容的问题?当连接更改时,有没有更好的方法来通知?

如果可能,我需要适用于Windows Vista,7和8的Framework 4.0客户端的解决方案

c# windows c#-4.0 windows-8 desktop-application
1个回答
1
投票

威廉·赖利(William Riley)指向我指向this link,这帮助我找到了解决方法。

最后,我使用了Windows API中的网络列表管理器和Microsoft的COM实现。 (您可以检查一些examples

对项目添加正确的引用很重要:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9zYkRqbC5wbmcifQ==” alt =“在此处输入图像描述”>

然后,您可以按照链接中的示例进行操作,确实很简短,很直接。

© www.soinside.com 2019 - 2024. All rights reserved.