Newsgroup: it.comp.programmare.win32
Titolo: REQ: funzione per rilevare connessione Internet

Ciao a tutti,
ho scritto un piccolissimo programma (36 k)
in VC++ 6 per calcolare il costo di una telefonata/connessione Internet
con la nuova tariffa a tempo della Telecom.
In pratica il programma funziona cosě:
si fa partire il conteggio (con il tasto di Start)
e ci si connette ad internet...
per ogni secondo di tempo che passa
viene aggiornato il display della finestra
con la durata della connessione e il relativo costo
(che tiene conto delle feste, delle fasce orarie, dei 15 minuti ...e cosě
via)
Terminata la navigazione, si clicca su un 2° pulsante (di stop)
per terminare il conteggio.
Naturalmente ci sono moltissime possibili opzioni da aggiungere....
Avrei intenzione di rendere il programma freeware e quindi disponibile a
tutti,
visto che ritengo il programma abbastanza utile per rendersi conto di
quanto si spende con la nuova tariffa, abbastanza complicata...
Mi piacerebbe perň prima poter rendere il programma "AUTOMATICO";
mi spiego meglio:
sarebbe molto piů comodo poter tenere il programma in memoria nella barra
di sistema (e fin qui dovrei farcela...)
e fare in modo che si accorga automaticamente quando parte una nuova
connessione,
(in modo del tutto analogo a quello che fa l'NDetect dell'ICQ)
Non ci sarebbe cosě bisogno di preoccuparsi di cliccare sul pulsante di
Start e Stop
per fare partire/fermare il conteggio...
Quello che vi chiedo quindi č questo:
qualcuno conosce una semplice funzione in grado di fare un check per capire
se
č attiva una connessione internet, oppure no ?
In pratica avrei bisogno di una funzione che restituisca TRUE se vede che
c'č una qualsiasi connessione
corrente, FALSE altrimenti.
Il mio programma richiamerebbe poi questa funzione periodicamente (tipo ogni
secondo)
ed appena rileva la connessione, partirebbe con il conteggio.
Ho provato a cercare una funzione del genere,
ma sia su CodeGuru che su dei vecchi cd MSDN,
non sono riuscito a trovare nulla.
Se qualcuno conosce una funzione (InternetCheck) che fa al caso mio,
sarei felice di inviargli il mio programma e relativi sorgenti...
Ringrazio tutti
Ciao da Zangry...
EMAIL : 
zan...@libero.it
ICQ: 49563860

 se è attiva una connessione internet, oppure no ?
RASEnumConnections() dovrebbe andare.
--
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/


Puoi usare RasEnumConnections per elencare le connessioni RAS attive e 
RasGetConnectedStatus (non sono sicuro del nome e non ho l'help sottomano, 
quindi scusami eventuali imprecisioni...) per ricavarne lo stato.
L'unico problema č che queste funzioni devono essere usate in "polling" 
(richiamate periodicamente) e quindi la precisione del tuo counter sarŕ 
"falsata" di un tempo pari a quello di polling (se si parla di secondi non 
dovrebbe essere un problema).
Una via alternativa potrebbe consistere nell'utilizzo delle TAPI. In questo 
modo potresti monitorare l'utilizzo del modem (non solo per internet). Le 
TAPI perň sono un po' piů complicate delle api RAS e non č detto che la 
connessione RAS sia gestita da un device TAPI compatibile (magari qualcuno 
utilizza piů schede ISDN in parallelo).
-- 
Valter Minute - 
min...@fortech.it
 (the reply address of this message is 
invalid)
--
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://hotfiles.zdnet.com/cgi-
bin/texis/swlib/hotfiles/getit.bin?fcode=000PZ0
if you want, I can send you the (free) C++ source code.

 > qualcuno conosce una semplice funzione in grado di fare un check per
capire


 tuo provider....però non so come si fa :-)
Ammesso che si possa fare. La fase preliminare di handshaking (l'avro` scritto
bene? :)) e` puramente "hardware", ci pensa il modem a fare tutto. Quindi mi sa
che i primi cinque-dieci secondi non si possano "controllare". Puoi aggiungere
una quantita` fissa di secondi "a forfait", supponendo che il tempo di
connessione sia piu` o meno simile per tutti i modem e in tutte le occasioni.
In generale comunque non credo che siano quei dieci secondi a fare la
differenza... specialmente adesso che c'e` la TAT.
