Как узнать подключен ли комп к Internet.
Я с помощью WinSock прослушиваю 25 или 110 порт, но услышу ли я там шото?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник."
Re: Есть ли подключене к Internet?
От:
Аноним
Дата:
10.12.03 11:28
Оценка:
Здравствуйте, lnu, Вы писали:
lnu>Как узнать подключен ли комп к Internet. lnu>Я с помощью WinSock прослушиваю 25 или 110 порт, но услышу ли я там шото?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник."
Re[2]: Есть ли подключене к Internet?
От:
Аноним
Дата:
10.12.03 11:57
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, lnu, Вы писали:
lnu>>Как узнать подключен ли комп к Internet. lnu>>Я с помощью WinSock прослушиваю 25 или 110 порт, но услышу ли я там шото?
А>InternetGetConnectedState()
InternetGetConnectedState (INTERNET_CONNECTION_LAN, NULL) — ругается
Ошибка:
error C2664: 'InternetGetConnectedState' : cannot convert parameter 1 from 'const int' to 'unsigned long *'
Здравствуйте, lnu, Вы писали:
lnu>Вот описание функции lnu>BOOL InternetGetConnectedState( lnu> LPDWORD lpdwFlags, lnu> DWORD dwReserved lnu>);
lnu>и у меня получилось, что lpdwFlags=18. lnu>Что єто значит? lnu>В Wininet.h не нашел такой константы
lnu>Есть только lnu>#define INTERNET_CONNECTION_MODEM 1 lnu>#define INTERNET_CONNECTION_LAN 2 lnu>#define INTERNET_CONNECTION_PROXY 4 lnu>#define INTERNET_CONNECTION_MODEM_BUSY 8
Здравствуйте, lnu, Вы писали:
lnu>Вот описание функции lnu>BOOL InternetGetConnectedState( lnu> LPDWORD lpdwFlags, lnu> DWORD dwReserved lnu>);
lnu>и у меня получилось, что lpdwFlags=18. lnu>Что єто значит? lnu>В Wininet.h не нашел такой константы
lnu>Есть только lnu>#define INTERNET_CONNECTION_MODEM 1 lnu>#define INTERNET_CONNECTION_LAN 2 lnu>#define INTERNET_CONNECTION_PROXY 4 lnu>#define INTERNET_CONNECTION_MODEM_BUSY 8
это не все, еще есть
#define INTERNET_RAS_INSTALLED 0x10
lpdwFlags указывает на комбинацию флагов (внимательней читай MSDN )
А как же тогда расшифровать lpdwFlags = 86. Так правильно:
86 == 0х40+0х10+0х04+0х02 == INTERNET_CONNECTION_CONFIGURED+INTERNET_RAS_INSTALLED+INTERNET_CONNECTION_PROXY+INTERNET_CONNECTION_LAN?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, SergeMukhin, Вы писали:
SM>>18 == 0x12 == 0x10 + 0x02 == INTERNET_RAS_INSTALLED + INTERNET_CONNECTION_LAN
А>А как же тогда расшифровать lpdwFlags = 86. Так правильно: А>86 == 0х40+0х10+0х04+0х02 == INTERNET_CONNECTION_CONFIGURED+INTERNET_RAS_INSTALLED+INTERNET_CONNECTION_PROXY+INTERNET_CONNECTION_LAN?
86 десятичных? флаги обычно пишут шестнадцатирицными
т.е.
86 десятичных == 0x56 == 0x40 + 0x10 + 0x04 +0x02
... << RSDN@Home 1.1.0 stable >>
---
С уважением,
Сергей Мухин
Re[7]: Есть ли подключене к Internet?
От:
Аноним
Дата:
10.12.03 16:07
Оценка:
Здравствуйте, SergeMukhin, Вы писали:
А>>А как же тогда расшифровать lpdwFlags = 86. Так правильно: А>>86 == 0х40+0х10+0х04+0х02 == INTERNET_CONNECTION_CONFIGURED+INTERNET_RAS_INSTALLED+INTERNET_CONNECTION_PROXY+INTERNET_CONNECTION_LAN?
SM>86 десятичных? флаги обычно пишут шестнадцатирицными
Да, MessageBox выдает 86, но меня интересует другой вопрос:
Как из этого всего набора выделить, например, что присутствует INTERNET_CONNECTION_LAN?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, SergeMukhin, Вы писали:
А>>>А как же тогда расшифровать lpdwFlags = 86. Так правильно: А>>>86 == 0х40+0х10+0х04+0х02 == INTERNET_CONNECTION_CONFIGURED+INTERNET_RAS_INSTALLED+INTERNET_CONNECTION_PROXY+INTERNET_CONNECTION_LAN?
SM>>86 десятичных? флаги обычно пишут шестнадцатирицными А>Да, MessageBox выдает 86, но меня интересует другой вопрос: А>Как из этого всего набора выделить, например, что присутствует INTERNET_CONNECTION_LAN?
if ( Flag & INTERNET_CONNECTION_LAN ) {
// есть флаг INTERNET_CONNECTION_LAN
} else {
// нет флага INTERNET_CONNECTION_LAN
}
где Flag переменная, значение которой было присвоенно в InternetGetConnectedState
А у меня другой вопрос: в файле wininet.h нет константы INTERNET_CONNECTION_OFFLINE
и некоторых других, поэтому получается ошибка:
error C2065: 'INTERNET_CONNECTION_OFFLINE' : undeclared identifier
Может она в каком другом файле?
Здравствуйте, SergeMukhin, Вы писали:
SM>>>#define INTERNET_CONNECTION_MODEM 0x01 SM>>>#define INTERNET_CONNECTION_LAN 0x02 SM>>>#define INTERNET_CONNECTION_PROXY 0x04 SM>>>#define INTERNET_CONNECTION_MODEM_BUSY 0x08 SM>>>#define INTERNET_RAS_INSTALLED 0x10 SM>>>#define INTERNET_CONNECTION_OFFLINE 0x20 SM>>>#define INTERNET_CONNECTION_CONFIGURED 0x40
SM>сам напиши в программе: SM>#define INTERNET_CONNECTION_OFFLINE 0x20
Сорри, но не работает. Ошибки нет, но при отсутствии подключения программа об этом не предупреждает.
Здравствуйте, lnu, Вы писали:
lnu>Как узнать подключен ли комп к Internet. lnu>Я с помощью WinSock прослушиваю 25 или 110 порт, но услышу ли я там шото?
Здравствуйте, sercher, Вы писали:
S>Здравствуйте, lnu, Вы писали:
lnu>>Как узнать подключен ли комп к Internet. lnu>>Я с помощью WinSock прослушиваю 25 или 110 порт, но услышу ли я там шото?
S> Достоверность может обеспечить только пинг.
Здравствуйте, sercher! Вы писали:
s> Здравствуйте, lnu, Вы писали:
lnu>> Как узнать подключен ли комп к Internet. lnu>> Я с помощью WinSock прослушиваю 25 или 110 порт, но услышу ли я там lnu>> шото?
s> Достоверность может обеспечить только пинг.
Строго говоря сабж никак нельзя проверить. И тем более пинг тут не помошник.
Posted via RSDN NNTP Server 1.8 beta
WBR, Igor Evgrafov
Re[2]: Есть ли подключене к Internet?
От:
Аноним
Дата:
11.12.03 14:19
Оценка:
А>InternetGetConnectedState()
а оно окошко подключения не вызовет?