2012-06-25 2 views
0

Я хочу подождать, пока не придет интернет, поэтому я создал цикл с функцией InternetGetConnectedState. Я начал программу, когда интернет отключен. Затем я включаю интернет. Но все равно он не может быть. Что мне делать?C InternetGetConnectedState Loop

LPWORD bur; 
int abc; 
    abc = InternetGetConnectedState(bur,0); 
    while (abc==0){ 
    printf ("zzz"); 
    if (abc==1) 
    break; 
    } 

ответ

1

попробуйте положить вызов в цикл, abc никогда не изменится.

Кроме того, вы не должны присвоить результат абв .... также, его DWORD ...

DWORD abc = 0; 
printf ("Waiting for an internet connection."); 
while ((abc & 0x40)){ 
    InternetGetConnectedState(&abc,0); 
    printf ("."); 
} 

, а затем сравнивая его с 1 или 0, на самом деле не собирается ничего рассказывать , посмотреть на флагах он может вернуться: -

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 instal 
+0

Я написал неверный код, но я редактировал его сейчас в вопросе своей логику работы, как этот –

+0

ERR, отредактированный код в значительной степени имеет те же проблемы –

+0

так как могу ли я понять, что следует использовать InternetCheckConnection –