Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

How do I detect whether of not an Internet connection exists?

Posted on 1997-04-06
Last Modified: 2010-04-06
My problem is that I need to test whether or not a connection to the internet exists in windows95.  The obvious solution is to test your own IP address and compare it to .  If the comparison is true, your offline.  Any other IP address means your online.

The problem is that with windows95, any call to winsock triggers the dialer.  I DO NOT want to trigger the dialer if there is no connection to the internet.

So, I guess my question is:

   How do I make a call to Winsock without triggering the dialer?

Question by:sleach
  • 4
  • 2

Author Comment

ID: 1335217
Edited text of question

Author Comment

ID: 1335218
Adjusted points to 204

Accepted Solution

sperling earned 200 total points
ID: 1335219
Might work using the RasEnumConnections API call...

If you need help using this function, let me know.


Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.


Author Comment

ID: 1335220
sperling, I am unfamiliar with RAS.  Can you point me to a code example?  

Also, will RasEnumConnections show only dial up networking connections, or will it also show connections from other dialers(such as AOL's 32 bit dialer)?

I am currently using FindWindow to detect the Win95 Dialer, but this only works with the Win95 Dialer.  I need a method thats Dialer independant.

Can RAS be used to disable the AutoDial feature?

Expert Comment

ID: 1335221
>sperling, I am unfamiliar with RAS. Can you point me to a code

So am I ;)

I haven't got any modems installed, and I don't run 95... Therefore I can just suggest that you make a small test program displaying RasEnumConnections output in an ButtonClick event, and then tries to figure out how it works by noting what output you get while offline and online using different dialers.

Sorry I can't be of more help.



Author Comment

ID: 1335222
It took me awhile, but I finally figured it out.

For the purpose of sharing the solution, Here is the function that works for me.

USES ras;

function RasConnected:  boolean;
    rasconnbuf:  TRasConn;
    cb, ret, numConn:  integer;
    connected:  boolean;

    //Required to provide buffer size
    rasconnbuf.dwSize := sizeof(rasconnbuf);
    cb := sizeof(TRasConn);

    //Retrieve info about first active connection (I only have one - change this if you have more)
    ret := RasEnumConnections(@rasconnbuf, cb, numConn);

    if ((numConn = 0) or (ret <> 0)) then connected := false
    else Connected := true;
result := connected;


Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
delphi parse string to params 3 136
FMX and jaudiotracker playing memory stream 29 85
Tvertscrollbox like a whatsapp layout 5 34
Firemonkey allowing RTL on android 6 46
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question