簡體   English   中英

在互聯網連接或斷開時收到通知

[英]Get notified when internet is connected or disconnected

我有一個在 .Net 4.0 客戶端框架下開發的 WPF 和 C# 桌面應用程序,它必須根據 PC 上的互聯網是否可用來顯示或隱藏一些數據。 這意味着我必須能夠盡快檢測到互聯網是否斷開或連接以便做出反應。 (例如可以斷開無線網絡或拔掉網線)

當我進行了一些研究時,我發現NetworkChange類中存在一個名為NetworkAvailabilityChanged的事件,每次連接更改時都會觸發該事件( 鏈接到文檔)。

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

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

是否有任何我沒有意識到的不兼容問題? 有沒有更好的方法在連接發生變化時獲得通知?

如果可能,我需要一個適用於 Windows Vista、7 和 8 的 Framework 4.0 客戶端的解決方案

http://msdn.microsoft.com/en-us/library/ee264321(VS.85).aspx

我在同一研究期間遇到了這個鏈接。 它更有幫助。

William Riley 向我指出了這個鏈接,它幫助我找到了實現它的方法。

最后,我通過 Microsoft 的 COM 實現使用來自 Windows API 的網絡列表管理器。 (您可以查看一些示例

添加對項目的正確引用很重要:

在此處輸入圖片說明

然后,您可以按照鏈接中的示例進行操作,這非常簡短且直接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM