인터넷 연결확인 방법

개발 2007. 9. 28. 21:08

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

작성인 : 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
0x40

Local system has a valid connection to the Internet, but it might or might not be currently connected.

INTERNET_CONNECTION_LAN
0x02

Local system uses a local area network to connect to the Internet.

INTERNET_CONNECTION_MODEM
0x01

Local system uses a modem to connect to the Internet.

INTERNET_CONNECTION_MODEM_BUSY
0x08

No longer used.

INTERNET_CONNECTION_OFFLINE
0x20

Local system is in offline mode.

INTERNET_CONNECTION_PROXY
0x04

Local system uses a proxy server to connect to the Internet.

INTERNET_RAS_INSTALLED
0x10

Local system has RAS installed.

 


dwFlag 값은 비트연산으로 확인 할 수 있는데, ( dwFlag & INTERNET_CONNECTION_LAN ) 이 참이면 랜으로 연결된 것입니다.

그리고 세번째 인자에는 현재 연결된 이름이 나오게 된다. 랜으로 연결된 경우에는 “LAN연결이라는 문자열이 넘어온다. 마지막 인자는 0으로 고정이다. 그리고 간단한 버전으로


         

InternetGetConnectedState(&dwFlag, 0);

 

이렇게 사용해도 된다.

 



: