VC獲得本機網路連線狀態

2021-09-06 17:05:00 字數 3463 閱讀 1032

/本機網路連線型別(成功)  

#define  net_type_ras_dial_up_connect_net           0x01    //上網型別:採用ras撥號連線上網    0x01  

#define  net_type_lan_connect_net                   0x02    //上網型別:採用網**過區域網上網 0x02  

#define  net_type_proxy_connect_net                 0x04    //上網型別:使用**伺服器上網     0x04  

#define  net_type_ras_install                       0x10    //ras安裝                        0x10  

//本機網路連線(失敗)  

#define  net_type_no_connect_net                    0x41    //未連線到網路  

#define  net_state_valid_connect_noconnect_net      0x40    //可以聯網,但當前不可用    0x40  

#define  net_state_modem_busy                       0x08    //數據機 繁忙           0x08  

#define  net_state_system_offline_mode              0x20    //系統離線模式              0x20  

checknet()  

if (dwonline & internet_connection_modem_busy)  

if (dwonline & internet_connection_offline)  

return net_type_no_connect_net;  

}  if ( dwonline& internet_connection_modem )      //上網型別:採用ras撥號連線上網  

else if ( dwonline&internet_connection_lan  )  //上網型別:採用網**過區域網上網  

else if ( dwonline&internet_connection_modem_busy ) //modem被其他非internet連線占用  

}  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

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

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

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

volume shadow copy

view plain

copy to clipboard

print?

//  

#include "stdafx.h"  

#include "test.h"  

#include 

#include 

#ifdef _debug  

#define new debug_new  

#undef this_file  

static char this_file = __file__;  

#endif  

/  using namespace std;  

void fun_internetgetconnectedstate()  

if ((flags & internet_connection_lan) ==internet_connection_lan)  

if ((flags & internet_connection_proxy) ==internet_connection_proxy)  

if ((flags & internet_connection_modem_busy) ==internet_connection_modem_busy)  

}  else  

}  void fun_isnetworkalive()  

if ((flags & network_alive_wan) ==network_alive_wan)  

if ((flags & network_alive_aol) ==network_alive_aol)  

}  else  

}  int _tmain(int argc, tchar* argv, tchar* envp)  

else  

cout << endl;  

}  }  

return nretcode;  }

VC獲得本機網路連線狀態

msdn中定義了7種引數型別,但實際中wininet.h標頭檔案中只對四種型別的值進行了定義 7種型別 internet connection lan 區域網 internet connection modem 撥號上網 internet connection proxy internet conn...

Android網路連線狀態

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

Android 檢測網路連線狀態

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