begin process at 2010 02 10 01:35:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

DirectX

 > (VC++) BASE DE REGISTRE - SAVOIR SI UN ORDINATEUR EST CONNECTE

(VC++) BASE DE REGISTRE - SAVOIR SI UN ORDINATEUR EST CONNECTE


 Information sur la source

Note :
9,25 / 10 - par 4 personnes
9,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :DirectX Niveau :Initié Date de création :22/12/2002 Date de mise à jour :07/01/2003 19:22:07 Vu :5 353

Auteur : Sardinoman

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

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

  • //======================================================
  • //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;
  • }
//======================================================
//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 ;-)


 Sources du même auteur

VC++ - EXMPLE TRES SIMPLE BASE DE --REGISTRE-- WINDOWS
Source avec Zip SIMPLE ÉXEMPLE DIRECTDRAW

 Sources de la même categorie

Source avec Zip Source avec une capture MP3 DX9 JOUER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture EQUINOX VISUAL SON METER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture FLEUR EN DELIRE! par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture DIREXCT X 9 D3D par f_l_a_s_h_b_a_c_k
Source avec Zip BLOP DIRECT X par f_l_a_s_h_b_a_c_k

Commentaires et avis

Commentaire de trinitacs le 23/12/2002 14:47:18

Je ne connaissais pas. Ça peut etre bien utile.
Mais c'est bizarre que tu regardes 2 fois de suite si il y a une erreur ?

Commentaire de Sardinoman le 23/12/2002 18:22:46

je regarde 2 fois tout simplement parce qu il y deux fonctions differentes et les deux peuvent echouer independament, c tout :-)

Commentaire de Ankras le 30/12/2002 00:11:42

c'est un moyen tres simple pour de tester si il y a une connexion mais qui ne marche pas sous xp pro car la clé "Remote Connection" n'éxiste pas (en tout cas pas sur mon pc).

Commentaire de Sardinoman le 06/01/2003 11:25:18

je fais comment alors ? pfff ca va tout compliqué...

Commentaire de scoubidou944 le 25/07/2003 02:20:24

la différence entre
#include &lt;toto.h&gt;
et
#include "toto.h"
est que dans le premier, MSVC va chercher dans les include de visual studio alors que dans le 2ème cas, il prend le dossier du projet
donc &lt;&gt; pour les includes systèmes et
"" pour les includes de l'appli & voila ;p

Commentaire de amodels le 02/12/2003 00:44:55

Salut tlm.

Pour le 1er code, j'ai le meme pb ke Ankras pour Win XP Pro.

Et ensuite, le 2ème code me renvoie l'erreur suivante lors de la compil :
Unresolved external 'InternetGetConnectedState' referenced from fichier.obj [J'ai pourtant cette librairie Wininet.h dispo]

Qqun a un 3ème code ? Merci :)

Commentaire de alain34270 le 31/01/2004 07:57:45

il faut ajouter dans le projet la bibliotheque wininet.lib, et ça marche !
alain

Commentaire de Guidelor le 05/03/2004 22:30:13

Super !
c ce que je cherchais !
merci !

Commentaire de victorcoasne le 10/05/2004 11:41:38

Assez clair pour la base des registres 9/10

Commentaire de kirdrik2000 le 17/12/2004 12:45:20

Lu ,

Je suis sous XP PRO j'ai donc opté pour le code 2
Ben chez moi c tjrs le meme resultat pour Isconnected :
d'abord 0 puis apres appel 1...Que je sois connecté ou non .

Commentaire de BruNews le 17/12/2004 13:04:21 administrateur CS

kirdrik2000 > InternetGetConnectedState() est a considerer comme obsolete avec les connexions modernes constantes (adsl, routeur...).
Le seul moyen est de tenter une connexion via socket.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales