Połączenie z netem

0

Dobra mam kod z FAQ ( Delphi ):

uses 
  WinInet; 

// automatyczne nawiązanie połączenia
procedure TForm1.BtnPolaczClick(Sender: TObject); 
var 
  dwConnectionTypes: DWORD; 
begin 
  dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + 
    INTERNET_CONNECTION_PROXY; 
  if not InternetGetConnectedState(@dwConnectionTypes, 0) then 
    //nie połaczony
    if not InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE or 
      INTERNET_AUTODIAL_FORCE_UNATTENDED, 0) then 
    begin 
      // błąd
    end; 
end; 

// automatyczne rozłączenie
procedure TForm1.BtnRozlaczClick(Sender: TObject); 
var 
  dwConnectionTypes: DWORD; 
begin 
  dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + 
    INTERNET_CONNECTION_PROXY; 
  if InternetGetConnectedState(@dwConnectionTypes, 0) then 
    // połaczony
    InternetAutodialHangup(0); 
end; 

Wiem, że tp strasznie wkurzające jak ktoś chcesz żeby mu kod przeobić, ale nie wiem jak to przerobić z Delphi na c++, bo dawno nie programczyłem w Pascalu.

0

To jest w C, nie sprawdzałem, ale powinno działać tak samo jak to w Delphi. Connect() zwraca TRUE jezeli połączony (nawet jeżeli wcześniej - nie dzięki tej funkcji), FALSE jeżeli nie udało się połączyć. Disconnect() zwraca TRUE jeżeli rozłączony (nawet jeżeli wcześniej - nie dzięki tej funkcji), FALSE jeżeli nie udało się rozłączyć.

BOOL Connect( void )
{
    DWORD   dwConnectionType;

    dwConnectionType = INTERNET_CONNECTION_MODEM | INTERNET_CONNECTION_LAN | INTERNET_CONNECTION_PROXY; 
    if ( InternetGetConnectedState( &dwConnectionType, 0 ) == FALSE )
        return( InternetAutodial( INTERNET_AUTODIAL_FORCE_ONLINE | INTERNET_AUTODIAL_FORCE_UNATTENDED, 0 ) );
    return( TRUE );
}

BOOL Disconnect( void )
{
    DWORD   dwConnectionType;

    dwConnectionType = INTERNET_CONNECTION_MODEM | INTERNET_CONNECTION_LAN | INTERNET_CONNECTION_PROXY;
    if ( InternetGetConnectedState( &dwConnectionType, 0 ) )
        return( InternetAutodialHangup( 0 ) );
    return( TRUE );
}
0

Troche późno, ale dzięki :d

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0