Henry Simpson
hsimpson88 at hotmail.com
Fri Jun 20 09:59:36 CDT 2003
If you're worried about distinguishing between dialup and direct LAN when they are used exclusively, I use the following API in NT: Private Declare Function RasGetConnectStatusA Lib "RasApi32.dll" _ (ByVal hRasCon As Long, lpStatus As Any) As Long Searching on the function name may get you further for more generic use. Hen >From: Bruce Bruen <bbruen at bigpond.com> >Reply-To: accessd at databaseadvisors.com >To: accessd at databaseadvisors.com >Subject: RE: [AccessD] detect network >Date: Fri, 20 Jun 2003 23:50:46 +1000 > >Jim, > >One thing you'll have to watch out for is on board modems. > >As I sit here on my laptop, connected both to the LAN and to a dial up, >your code tells me that I'm connected. OK - but closer inspection is >that Ret = &H3 i.e. it sums both the connections! Similarly, if I pull >out the LAN cable I still get a positive response from the WAN. So, if >your guys are dialled up but not connected to YOUR LAN then you'll get a >false positive. That is why I suggested the longer (in terms of code) >method of enumerating the resources. > >I'd say you have to have an install or setup parameter in your >distribution pack that lets them set up a resource name that would be >relatively unique to the "homebase" LAN, say a server name, and you'll >still have to have some error control in the connection establishment to >cope with Murphy's law. > >hth >Bruce > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim DeMarco >Sent: Friday, June 20, 2003 10:42 PM >To: accessd at databaseadvisors.com >Subject: RE: [AccessD] detect network > > >Thanks. The app is being distributed to a number of companies so I've >been looking for something generic that won't need any direction as to >where to look. I found a simple API this AM that I think does the >trick: > >'Requires Windows 2000 >'(or Windows NT 4.0 with Internet Explorer 5 or later); 'Requires >Windows 95 or later (with Internet Explorer 5 or later) > >'Parameter info >'. lpdwFlags >'Provides information on the type of network connection available when >the return value is TRUE. The flags can be: 'NETWORK_ALIVE_LAN 'The >computer has one or more LAN cards that are active. 'NETWORK_ALIVE_WAN >'The computer has one or more active RAS connections. 'NETWORK_ALIVE_AOL >'This flag is only valid in Windows 95 and Windows 98. Indicates the >computer is connected to the America Online network. > >'Return Values >' >'TRUE >'The local system is connected to a network. >'FALSE >'Call GetLastError to determine the reason for no connectivity. > >Const NETWORK_ALIVE_AOL = &H4 >Const NETWORK_ALIVE_LAN = &H1 >Const NETWORK_ALIVE_WAN = &H2 > >Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As >Long) As Long > >Public Function AmIConnected() As Boolean > 'KPD-Team 2001 > 'URL: http://www.allapi.net/ > 'E-Mail: KPDTeam at Allapi.net > Dim Ret As Long > Dim blnReturn As Boolean > blnReturn = IsNetworkAlive(Ret) <> 0 And Ret <> NETWORK_ALIVE_AOL >'we're just interested in lan/wan > AmIConnected = blnReturn >End Function > >Thanks, > >Jim DeMarco >Director of Product Development >HealthSource/Hudson Health Plan > > >-----Original Message----- >From: Jim Dettman [mailto:jimdettman at earthlink.net] >Sent: Friday, June 20, 2003 8:13 AM >To: accessd at databaseadvisors.com >Subject: RE: [AccessD] detect network > > >Jim, > > Not sure if this will fit your needs or not, but how about issuing a >shell command with: > > Ping <address of server> >netchk.txt > > Then open and parse netchk.txt. You just need to look for the word >"reply". If found, you have a physical connection at least to the >server. > ><<Or should we just try to hit the central DB at app start and trap the >error? I don't want to generate an error if I don't have to.>> > > That's what I would do. To many things can foul things up (ie. >security) beyond simply checking for a connection. Of course, I suppose >it depends on what you meant by "a connection". > > But in the end result, it's your app that needs to carry out whatever >operation. By the time you've done enough checking to verify that the >app will be able to perform whatever, you might as well have just tried >it. > >Jim Dettman >President, >Online Computer Services of WNY, Inc. >(315) 699-3443 >jimdettman at earthlink.net > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Jim DeMarco >Sent: Thursday, June 19, 2003 8:33 AM >To: AccessD (E-mail) >Subject: [AccessD] detect network > > >We've got a data collection application that will be run on disconnected >laptops. At least once a week the laptop users will come in to the home >office to dump the data they've collected into our central SQL database. >Does anyone have any code that will detect that the laptop is connected >to our network so we can point their connection to the central DB (as >opposed to their local DB)? Or should we just try to hit the central DB >at app start and trap the error? I don't want to generate an error if I >don't have to. > >Thanks, > >Jim DeMarco >Director of Product Development >HealthSource/Hudson Health Plan > > >************************************************************************ >**** >******* >"This electronic message is intended to be for the use only of the named >recipient, and may contain information from Hudson Health Plan (HHP) >that is confidential or privileged. If you are not the intended >recipient, you are hereby notified that any disclosure, copying, >distribution or use of the contents of this message is strictly >prohibited. If you have received this message in error or are not the >named recipient, please notify us immediately, either by contacting the >sender at the electronic mail address noted above or calling HHP at >(914) 631-1611. If you are not the intended recipient, please do not >forward this email to anyone, and delete and destroy all copies of this >message. Thank You". >************************************************************************ >**** >******* > >_______________________________________________ >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > > >_______________________________________________ >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > > >************************************************************************ >*********** >"This electronic message is intended to be for the use only of the named >recipient, and may contain information from Hudson Health Plan (HHP) >that is confidential or privileged. If you are not the intended >recipient, you are hereby notified that any disclosure, copying, >distribution or use of the contents of this message is strictly >prohibited. If you have received this message in error or are not the >named recipient, please notify us immediately, either by contacting the >sender at the electronic mail address noted above or calling HHP at >(914) 631-1611. If you are not the intended recipient, please do not >forward this email to anyone, and delete and destroy all copies of this >message. Thank You". >************************************************************************ >*********** > >_______________________________________________ >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com > >_______________________________________________ >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com _________________________________________________________________ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com