인터넷 연결확인 방법
개발 2007. 9. 28. 21:08작성인 : 2007-09-28
작성자 : hanburn
인터넷 연결확인 방법
인터넷 관련 프로그램을 많이 하는데, 이때 필요한 것 중에 하나가 현재 인터넷에 연결이 되었는지 확인하는 것입니다. 보통 인터넷 파일오픈등의 방법으로 확인을 하는데, 이것보다는 인터넷에 연결된 상태를 확인하는 API가 있으니 이것을 이용하면 됩니다. InternetGetConnectedState, InternetGetConnectedStateEx 함수가 그것입다. 사용하는 법은 아래와 같습니다.
필요한 헤더파일은 WinInet.h 파일이고, 라이브러리는 WinInet.lib 입니다.
#include <WinInet.h>
#pragma comment (lib, "WinInet.lib")
DWORD dwFlag;
TCHAR szName[256];
::InternetGetConnectedStateEx(&dwFlag, szName, 256, 0);
함수 리턴값이 TRUE이면 인터넷에 연결된 것이고, FALSE이면 연결이 안된 것입다. 그리고 dwFlag에 상태정보가 넘어오게 되는데 그 정보는 아래와 같습니다.
Value |
Meaning |
INTERNET_CONNECTION_CONFIGURED |
Local system has a valid connection to the Internet, but it might or might not be currently connected. |
INTERNET_CONNECTION_LAN |
Local system uses a local area network to connect to the Internet. |
INTERNET_CONNECTION_MODEM |
Local system uses a modem to connect to the Internet. |
INTERNET_CONNECTION_MODEM_BUSY |
No longer used. |
INTERNET_CONNECTION_OFFLINE |
Local system is in offline mode. |
INTERNET_CONNECTION_PROXY |
Local system uses a proxy server to connect to the Internet. |
INTERNET_RAS_INSTALLED |
Local system has RAS installed. |
dwFlag 값은 비트연산으로 확인 할 수 있는데, ( dwFlag & INTERNET_CONNECTION_LAN ) 이 참이면 랜으로 연결된 것입니다.
그리고 세번째 인자에는 현재 연결된 이름이 나오게 된다. 랜으로 연결된 경우에는 “LAN연결” 이라는 문자열이 넘어온다. 마지막 인자는 0으로 고정이다. 그리고 간단한 버전으로
이렇게 사용해도 된다.