Solved

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

Posted on 1997-04-06
6
172 Views
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 127.0.0.1 .  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?

0
Comment
Question by:sleach
  • 4
  • 2
6 Comments
 
LVL 1

Author Comment

by:sleach
ID: 1335217
Edited text of question
0
 
LVL 1

Author Comment

by:sleach
ID: 1335218
Adjusted points to 204
0
 
LVL 3

Accepted Solution

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

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

Regards,

Erik.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 1

Author Comment

by:sleach
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?
0
 
LVL 3

Expert Comment

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

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.

Regards,

Erik.
0
 
LVL 1

Author Comment

by:sleach
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;
var
    rasconnbuf:  TRasConn;
    cb, ret, numConn:  integer;
    connected:  boolean;
begin

    //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;
end;

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Delphi OLE Error 8 93
Dev Express grid collapse 2 39
How to define IfThen functions in one common unit? 4 44
Multi-layered image in FireMonkey 9 13
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
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…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

929 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now