-> detecter une connexion [ programmation reseau] - Programmation
Marsh Posté le 22-08-2001 à 17:13:55
pymousses a écrit a écrit : En c ou c++, qq'1 sait t'il comment je pourrait faire pour determiner au lancement d'un programme si le pc est connecté ou pas? Merci. |
Connecter à quoi ? A un LAN via TCP/IP ? ou web ?
Peut-être qu'en pingant un serveur que l'on sait tjs up ?
Marsh Posté le 23-08-2001 à 01:28:17
il faut utiliser les fonctions RAS (remote access service) :
library : rasapi32.lib
#include "ras.h"
bool IsInternetOpen()
{
RASCONN TRasCon;
RASCONNSTATUS Tstatus;
DWORD lg;
DWORD lpcon;
bool lReturn;
TRasCon.dwSize = 412;
lg = 256 * TRasCon.dwSize;
lReturn = false;
if( RasEnumConnections(&TRasCon, &lg, &lpcon) == 0 )
{
Tstatus.dwSize = 160;
RasGetConnectStatus(TRasCon.hrasconn, &Tstatus);
lReturn = ( Tstatus.rasconnstate == 0x2000 );
}
return( lReturn );
}
voila.
Marsh Posté le 23-08-2001 à 08:06:05
Mais ça marche pour n'importe quelle connection ? ADSL, CABLE, lan, proxy ??
Marsh Posté le 23-08-2001 à 08:13:23
faut utiliser les fonctions RAS oui mais pas de cette maniere.
la tu prend la premiere connection qui vient
si yen a plusieurs...
Marsh Posté le 23-08-2001 à 09:34:50
Bon allez un piti effort et on a un truc qui marche , ok ?
Marsh Posté le 23-08-2001 à 11:58:42
Djedjeridooo a écrit a écrit : il faut utiliser les fonctions RAS (remote access service) : library : rasapi32.lib #include "ras.h" bool IsInternetOpen() { RASCONN TRasCon; RASCONNSTATUS Tstatus; DWORD lg; DWORD lpcon; bool lReturn; TRasCon.dwSize = 412; lg = 256 * TRasCon.dwSize; lReturn = false; if( RasEnumConnections(&TRasCon, &lg, &lpcon) == 0 ) { Tstatus.dwSize = 160; RasGetConnectStatus(TRasCon.hrasconn, &Tstatus); lReturn = ( Tstatus.rasconnstate == 0x2000 ); } return( lReturn ); } voila. |
Merci. Juste un p'tit q° :
si bool = false => non connecté, C bien ca ?
Marsh Posté le 23-08-2001 à 12:17:08
Ok ca marche. Merci beaucoup didje.
C'est de la balle.
Thank's a lot, et encore ...
@+
Marsh Posté le 23-08-2001 à 13:21:47
Regarde ce truc:
http://msdn.microsoft.com/library/ [...] frame=true
C'est la fonction que tu cherches.
Marsh Posté le 23-08-2001 à 13:36:47
ReplyMarsh Posté le 01-09-2001 à 21:12:32
Cette fonction fonctionne si je me connecte directement par internet explorer. Mais utilisant aol, si j'utilise son navigateur integré, alors la connection n'est jamais detectée!!!!
QQ'1 peut t'il trouver une explication à ce phénomène. Et encore mieux me donner une fonction qui marche dans tous les cas (même ave aol).
thank's.
Marsh Posté le 22-08-2001 à 13:03:06
En c ou c++, qq'1 sait t'il comment je pourrait faire pour determiner au lancement d'un programme si le pc est connecté ou pas?
Merci.