(vc++) base de registre - savoir si un ordinateur est connecte

Contenu du snippet

Bon ben voila c'est tout simple mais ca peut etre chiant a trouver sans aide :-)
C surtout pour aider les manipulateur de bases de registre et à la demande suite a mon premier code sur les bases de registres !
C tout bidon mais je pense que ca peut aider...

J ai rajouté une autre méthode utilisant pas les bases de registre mais ke j'aime moin... l avantage c ke je pense ke ca marchera sur tous les windows (je pense).
!!! Attention pour la deuxieme y faut Wininet.lib (sous vc++)

Source / Exemple :


//======================================================
//PREMIERE METHODE (base de registre)

#include <Windows.h>
#include <Winreg.h>
#include <iostream.h>

void main ()
{
	HKEY hkey = 0;
	unsigned long dwLen = sizeof(unsigned long);
	int dwKeyEn = 0;
	int returnValue = 0;

	//Ouvre la clef ou se trouve la valeur pour connaitre l'etat de la connection
	returnValue = RegOpenKey (HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Services\\RemoteAccess", &hkey);
	if (returnValue != ERROR_SUCCESS)
		cout << "erreur";
	
	//Lit la valeur
	returnValue = RegQueryValueEx (hkey, "Remote Connection", NULL, NULL, (LPBYTE)&dwKeyEn, &dwLen);
	if (returnValue != ERROR_SUCCESS)
		cout << "erreur";

	//Affiche le résultat
	if (dwKeyEn)
		cout << "Ordinateur connecte a internet !\n\n";
	else
		cout << "Ordinateur non connecte a internet.\n\n";

	//ferme la clef
	RegCloseKey (hkey);
} 

//======================================================
//DEUXIEME METHODE (Wininet)

#include <iostream.h>
#include <winsock2.h>
#include <Wininet.h>	/*JE COMPRENDS PAS...
Normalement la y fot mettre #include <Wininet.h>, nan ?
Alors pk ca marche kan meme #include "Wininet.h" chez moi ?

  • /
void main () { int IsConnected = false; cout << IsConnected << endl; DWORD *dwFlags = NULL; IsConnected = InternetGetConnectedState (dwFlags, NULL); cout << IsConnected; }

Conclusion :


Woila si vous avez des questions ;-)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.