win32 測試網路狀態

來源:互聯網
上載者:User

// TestNetConnection.cpp : Defines the entry point for the console application.<br />//<br />// test.cpp : Defines the entry point for the console application.<br />//<br />#include "stdafx.h"<br />#include <windows.h><br />#include <iostream><br />using namespace std;<br />#include <Wininet.h><br />#pragma comment (lib, "Wininet.lib")<br />#include <Sensapi.h><br />#pragma comment (lib, "Sensapi.lib")<br />/*<br />//本機網路連接類型(成功)<br />#define NET_TYPE_RAS_DIAL_UP_CONNECT_NET 0x01 //上網類型:採用RAS撥號連線上網 0x01<br />#define NET_TYPE_LAN_CONNECT_NET 0x02 //上網類型:採用網卡通過區域網路上網 0x02<br />#define NET_TYPE_PROXY_CONNECT_NET 0x04 //上網類型:使用Proxy 伺服器上網 0x04<br />#define NET_TYPE_RAS_INSTALL 0x10 //RAS安裝 0x10<br />*/<br />void Fun_InternetGetConnectedState()<br />{<br />DWORD flags;//上網方式<br />BOOL m_bOnline=TRUE;//是否線上<br />m_bOnline=InternetGetConnectedState(&flags,0);<br />if(m_bOnline)//線上<br />{<br />if ((flags & INTERNET_CONNECTION_MODEM) ==INTERNET_CONNECTION_MODEM)<br />{<br />cout<<"線上:撥接/n";<br />}<br />if ((flags & INTERNET_CONNECTION_LAN) ==INTERNET_CONNECTION_LAN)<br />{<br />cout<<"線上:通過區域網路/n";<br />}<br />if ((flags & INTERNET_CONNECTION_PROXY) ==INTERNET_CONNECTION_PROXY)<br />{<br />cout<<"線上:代理/n";<br />}<br />if ((flags & INTERNET_CONNECTION_MODEM_BUSY) ==INTERNET_CONNECTION_MODEM_BUSY)<br />{<br />cout<<"MODEM被其他非INTERNET串連佔用/n";<br />}<br />}<br />else<br />cout<<"不線上/n";<br />}<br />void Fun_IsNetworkAlive()<br />{<br />DWORD flags;//上網方式<br />BOOL m_bOnline=TRUE;//是否線上<br />m_bOnline=IsNetworkAlive(&flags);<br />if(m_bOnline)//線上<br />{<br />if ((flags & NETWORK_ALIVE_LAN) ==NETWORK_ALIVE_LAN)<br />{<br />cout<<"線上:NETWORK_ALIVE_LAN/n";<br />}<br />if ((flags & NETWORK_ALIVE_WAN) ==NETWORK_ALIVE_WAN)<br />{<br />cout<<"線上:NETWORK_ALIVE_WAN/n";<br />}<br />if ((flags & NETWORK_ALIVE_AOL) ==NETWORK_ALIVE_AOL)<br />{<br />cout<<"線上:NETWORK_ALIVE_AOL/n";<br />}<br />}<br />else<br />cout<<"不線上/n";<br />}<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br />int nRetCode = 0;<br />int i=0;<br />while (TRUE)<br />{<br />cout << "請選擇測試的方式:/n"<br /><< "1. InternetGetConnectedState/n"<br /><< "2. IsNetworkAlive"<br /><< endl;<br />cin >> i;<br />switch(i)<br />{<br />case 1:<br />Fun_InternetGetConnectedState();<br />break;<br />case 2:<br />Fun_IsNetworkAlive();<br />break;<br />default:<br />cout << "錯誤!/n";<br />}<br />cout << endl;<br />}<br />return nRetCode;<br />}<br /> 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.