Je developpe sous QT un programme de copie qui synchronise avec le
réseau et qui se lance au démarrage. Cependant avant de lancer la
copie je voudrais savoir si le réseau est disponible.
Y'a t-il une fonction de l'api win32 qui le permet ?
Merci d'avance
Il y a notamment la KB242558..
Selon la msdn :
BOOL InternetGetConnectedState
(
__out LPDWORD lpdwFlags,
__in DWORD dwReserved
);
Moi je parle d'intranet, la connexion est bien de type lan mais il n'y
a pas forcement internet alors je ne sais pas vraiment si cette
fonction est vraiment appropriée ?
En tout cas j'ai essayé de faire fonctionner la fonction mais sans
succès :
Toujours selon la msdn donc la fonction retourne un booléen et le
IpdwFlags correspondant à mon cas serait bien INTERNET_CONNECTION_LAN
sachant que le 2eme paramètre est toujours à 0 selon eux.
BOOL IsLanConnected = InternetGetConnectedState
( INTERNET_CONNECTION_LAN , 0 );
Déjà rien qu'ici il me met une erreur sur l'argument 1 de la
fonction ?
Savez-vous pourquoi, je ne comprends pas dans la mesure ou c'est la
MSDN qui les explique en plus ? Merci d'avance.
> BOOL IsLanConnected = InternetGetConnectedState
> ( INTERNET_CONNECTION_LAN , 0 );
>
> D�j� rien qu'ici il me met une erreur sur l'argument 1 de la
> fonction ?
Mais c'est un pointeur sur un DWORD !
DWORD dwFlags;
InternetGetConnectedState(&dwFlags, NULL);
Merci, désolé je ne suis vraiment pas familiariser avec tout ça.
DWORD dwConnectionStatus;
if (InternetGetConnectedState(&dwConnectionStatus,NULL) == TRUE)
{
if (dwConnectionStatus & INTERNET_CONNECTION_LAN) printf("Connexion
LAN.\n");
}
else printf("Erreur lors de l'appel de InternetGetConnectedState()\n");