VC獲得本機網路連線狀態

2021-09-30 03:20:09 字數 1680 閱讀 9289

msdn中定義了7種引數型別,但實際中wininet.h標頭檔案中只對四種型別的值進行了定義

7種型別:

internet_connection_lan          區域網

internet_connection_modem        撥號上網

internet_connection_proxy       **

internet_connection_modem_busy  **被占用

internet_connection_configured    雖然可以聯網,但當前不可用

internet_connection_offline     離線

internet_ras_installed       ras安裝

wininet.h標頭檔案中值定義:

// flags for internetgetconnectedstate and ex

#define internet_connection_modem           0x01

#define internet_connection_lan             0x02

#define internet_connection_proxy           0x04

#define internet_connection_modem_busy      0x08  /* no longer used */

#define internet_ras_installed              0x10

#define internet_connection_offline         0x20

#define internet_connection_configured      0x40

internetgetconnectedstate():對網路狀況不能及時反應

isnetworkalive():可以及時反應網路連通情況,但是需要服務system event notification支援(系統預設自動啟動該服務)。使用該函式,需要安裝最新的sdk(如.net的)

微軟文件:

system event notification(sens) 服務監視並跟蹤計算機事件(如 windows 登入網路和電源事件)。它還將這些事件通知給com+ 事件系統訂閱者。在 windows xp 和 windows server 2003 上預設安裝並自動執行此服務。

如果system event notification服務停止,com+ event system服務的訂閱者將不會接收到事件通知,並且會發生以下問題:

•win32 api isnetworkalive() 和 isdestinationreachable() 將無法執行。這些 api 大多在可攜式計算機的移動應用程式中使用。

•isens* 介面將無法使用。sens 登入/登出通知將失敗。

•syncmgr (mobsync.exe) 將無法正常執行。syncmgr 依賴於連線資訊,以及來自 sens 的網路連線/斷開、登入/登出通知。

•com+ eventsystem 試圖向 sens 通知某些事件時將失敗。

volume shadow copy服務將不能正常載入,這將導致 windows 備份 api 失敗。

VC獲得本機網路連線狀態

本機網路連線型別 成功 define net type ras dial up connect net 0x01 上網型別 採用ras撥號連線上網 0x01 define net type lan connect net 0x02 上網型別 採用網 過區域網上網 0x02 define net ty...

Android網路連線狀態

實習告一段落,回校準備畢業答辯,享受最後的大學生活。開發android應用程式,在需要進行連線網路時,如果沒有可用的網路連線,提醒手機使用者沒有可用的連連線,讓使用者有比較好的體驗。驗證 如下 1 首先獲得所有的網路連線manager.getallnetworkinfo 2 在迴圈判斷網路連線是否可...

Android 檢測網路連線狀態

檢測是否接入網際網路 connectivitymanager cm connectivitymanager context.getsystemservice context.connectivity service networkinfo activenetwork cm.getactivenetw...