// 질문 : 홍조호님
안녕하세요
현재 네트웍에 연결이 되어 있는지 그러니까 바로 인터넷을 사용할수 있는지
없는지 판별하는 방법 부탁드립니다.
프로그램상에서 ping테스트를 하면 자동으로 전화접속이 되어 버리거든요.
제가 인터넷에 연결이 되어 있지않으면 그냥 스킵하고 연결이 되어 있어면
익스플로러를 실행 하게 할려거든요. 부탁드립니다.
좋은 하루 보내세요.
// 답변 : 박지훈.임프님
임펠리테리입니다.
WinINet 함수인 InternetGetConnectedState()을 사용하면 간단히 알아낼 수 있습니다. 예제...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DWORD dwConnectionTypes;
if(InternetGetConnectedState(&dwConnectionTypes, 0)) // 정상적으로 검사됨
{
if((dwConnectionTypes & INTERNET_CONNECTION_MODEM) != 0)
ShowMessage("Modem으로 인터넷 사용중...");
if((dwConnectionTypes & INTERNET_CONNECTION_LAN) != 0)
ShowMessage("LAN으로 인터넷 사용중...");
if((dwConnectionTypes & INTERNET_CONNECTION_PROXY) != 0)
ShowMessage("Proxy로 인터넷 사용중...");
if((dwConnectionTypes & INTERNET_CONNECTION_MODEM_BUSY) != 0)
ShowMessage("Modem을 다른 용도로 사용중");
if((dwConnectionTypes & INTERNET_RAS_INSTALLED) != 0)
ShowMessage("RAS가 설치되어 있음");
if((dwConnectionTypes & INTERNET_CONNECTION_OFFLINE) != 0)
ShowMessage("오프라인");
if((dwConnectionTypes & INTERNET_CONNECTION_CONFIGURED) != 0)
ShowMessage("인터넷 연결이 설정되었음");
}
else
ShowMessage("검사할 수 없습니다");
}
그럼 참고하시길...
|