Fórum Tipo de conexão com a Internet #280905

10/05/2005

0

Salve pessoal
Dei uma pesquisada aqui no forum encontrei varias coisas sobre detectar conexão com a internet, muitas coisas funcionam mas tambem existem muitas falhas. O que eu estou querendo saber é se existe uma função que me retorne que tipo de conexão estou usando e se eu estou conectado ou não. Algumas das funçoes que eu encontrei que retorna se determinado micro esta conectado na internet atravéz do numero do ip pra mim nao vai servir pois meu ip nunca vai ser nulo pois eu estou em uma rede local ....
Bom o que eu preciso mesmo saber é:

1 - Que tipo de conexão eu tenho? ( Discada, ADSL ... )
2 - Se eu estou conectado ou não ... e caso nao esteja como chamar aquela tela de conexão do windows ? por exemplo o Outlook quando se esta of-line e vc pede para verificar mensagens velo logo a tal tela de conexão mandando conectar ...

bom espero que tenha conseguido expressar minha dúvida
Qualquer coisa estou ai


Mmoreira

Mmoreira

Responder

Posts

10/05/2005

Massuda

1 - Que tipo de conexão eu tenho? ( Discada, ADSL ... ) 2 - Se eu estou conectado ou não ...
Não dá para ter muito detalhe, mas para saber sobre a conexão use a função [url=http://msdn.microsoft.com/library/en-us/wininet/wininet/internetgetconnectedstate.asp]InternetGetConnectedState[/url] da API do Windows declarada na unit WinInet:
uses
  WinInet,
...
var
  Flags: dword;
  X: dword;
  S: string;
begin
  X := 0; // este valor deve ser zero senão falha
  if InternetGetConnectedState(@Flags, X) then begin
    S := ´´;
    if (Flags and INTERNET_CONNECTION_MODEM) <> 0  then begin
      S := S + ´via modem ´;
    end;
    if (Flags and INTERNET_CONNECTION_LAN) <> 0  then begin
      S := S + ´via rede local ´;
    end;
    if (Flags and INTERNET_CONNECTION_PROXY) <> 0  then begin
      S := S + ´usando proxy´;
    end;

    MessageDlg(´Conectado na internet ´ + S, mtInformation, [mbOK], 0);
  end
  else begin
    MessageDlg(´Não está conectado na internet!´, mtWarning, [mbOK], 0);
  end;
...
Detalhe: essa função requer Internet Explorer 4.0 ou mais recente instalado na máquina.

...e caso nao esteja como chamar aquela tela de conexão do windows ? por exemplo o Outlook quando se esta of-line e vc pede para verificar mensagens velo logo a tal tela de conexão mandando conectar ...
Acho que isso deve fazer a discagem (não testei):
uses
  WinInet,
...
  if InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE or INTERNET_AUTODIAL_FORCE_UNATTENDED, 0) then begin
    MessageDlg(´AutoDial OK´, mtInformation, [mbOK], 0);
  end
  else begin
    MessageDlg(´AutoDial falhou!´, mtWarning, [mbOK], 0);
  end;
...



Responder

Gostei + 0

10/05/2005

Mmoreira

Massuda blz,

bom eu testei o procedimento que vc me enviou ... não deu muito certo pois no momente em que eu fiz o teste estava conectado na internet usando adsl o velox e o seu procedimento disse que eu estava conectado via modem ... e isto nao esta correto. Será que não tem nada errado???

o segundo procedimento ainda nao testei ...

de qualquer maneira obrigado pela atenção


Responder

Gostei + 0

10/05/2005

Massuda

bom eu testei o procedimento que vc me enviou ... não deu muito certo pois no momente em que eu fiz o teste estava conectado na internet usando adsl o velox e o seu procedimento disse que eu estava conectado via modem ... e isto nao esta correto. Será que não tem nada errado???
Sua conexão é via PPPoE, ou seja, você tem um modem ADSL ligado numa placa de rede? Ou você tem um hub ligado no modem? No primeiro caso, acho que a resposta é que a conexão é via modem e no segundo caso via rede.


Responder

Gostei + 0

10/05/2005

Mmoreira

sim massuda eu tenho um modem adsl ligado a minha placa de rede ... então bastaria eu inverter para obter o resultado esperado ... vou fazer alguns testes e depois volto a escrever ....

valew


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar