? проверить наличие интернета
От: iLLL  
Дата: 27.03.03 16:30
Оценка:
А как проверить наличие сети и среагировать на её появление,
так чтобы у пользователя ни при каких настройках системы не появлялось
окно подключения, и вообще ничего не появлялось?

Ещё вопрос — как узнать Dial-Up или выделенка стоит?
Re: ? проверить наличие интернета
От: Jenyay http://jenyay.net
Дата: 27.03.03 17:37
Оценка:
Здравствуйте, iLLL, Вы писали:

LLL>А как проверить наличие сети и среагировать на её появление,

LLL>так чтобы у пользователя ни при каких настройках системы не появлялось
LLL>окно подключения, и вообще ничего не появлялось?
LLL>Ещё вопрос — как узнать Dial-Up или выделенка стоит?

Наличие именно инета можно проверить через InternetGetConnectedState. Там же вроде и хар-ки некоторые.
... << RSDN@Home 1.0 beta 6 >>
Софт, исходники и фото
Re: ? проверить наличие интернета
От: sasha Грузия  
Дата: 27.03.03 19:16
Оценка: 21 (1)
Здравствуйте, iLLL, Вы писали:

LLL>А как проверить наличие сети


bool IsConnected()
{
    RASCONN RasCon;
    RASCONNSTATUS status;

    DWORD lg;
    DWORD lpcon;
    bool lReturn;

    RasCon.dwSize = 412;
    lg = 256 * RasCon.dwSize;
    lReturn = false;

    if (RasEnumConnections(&RasCon, &lg, &lpcon) == 0)
    {
        status.dwSize = 160;
        RasGetConnectStatus(RasCon.hrasconn, &status);
        lReturn = (status.rasconnstate == 0x2000);
    }
   
    return lReturn;
}
Re: ? проверить наличие интернета
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.03.03 16:44
Оценка:
Здравствуйте, iLLL, Вы писали:

LLL>А как проверить наличие сети и среагировать на её появление,

LLL>Ещё вопрос — как узнать Dial-Up или выделенка стоит?

Трояна пишете, батенька ?

Я делаю чз InternetGetConnectedState(Ex). Только описание значений можно найти только в PSDK

#define INTERNET_CONNECTION_MODEM           0x01
#define INTERNET_CONNECTION_LAN             0x02
#define INTERNET_CONNECTION_PROXY           0x04
#define INTERNET_CONNECTION_MODEM_BUSY      0x08  /* no longer used */
#define INTERNET_RAS_INSTALLED              0x10 // вот это момед
#define INTERNET_CONNECTION_OFFLINE         0x20 // это оффлайн или искусственный оффлайн
#define INTERNET_CONNECTION_CONFIGURED      0x40 // это просто коннект


Флаги я получаю таким образом:

BOOL check_connect(DWORD* pdwStat)
{
    BOOL bRet;
    HMODULE hm = LoadLibrary("wininet.dll");
// фунцыи может и не быть, если эксплорер не тот, что надо
    
    if(hm == NULL)
        return FALSE;
    
    pfnInternetGetConnectedState InternetGetConnectedState;
    
    __try
    {
        InternetGetConnectedState = (pfnInternetGetConnectedState)GetProcAddress(hm,"InternetGetConnectedState");
        if(InternetGetConnectedState == NULL)
            __leave;
        
        bRet = InternetGetConnectedState(pdwStat,0);
    }
    
    __finally
    {
        FreeLibrary(hm);
    }
    
    return bRet;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.