Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 20 sur 20
  1. #1
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut Trouver les adresses ip d'un réseau local

    Bonjour a tous,
    je voudrais savoir si il y a moyen de trouver les adresses ip des différentes postes d'un réseaux local.
    Si vous avez une idée ca m'interrésse, car moi je n'en ai pas du tout (a par tester toute les adresse ip mais ce n'est pas possible vu le nombre d'adresse possible).
    A plus

  2. #2
    Membre éprouvé Avatar de nemo69500
    Inscrit en
    juin 2005
    Messages
    639
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 639
    Points : 429
    Points
    429

    Par défaut

    Tu vas dans favorie reseau et la tu recupere tous les nom dont tu ve l ip , ensuite tu fais demarer->executer et tu tape "cmd" puis entrer

    ensuite tu tape "ping nom_de_ordi" et tu tape entrer et la tu a l ip

  3. #3
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    oui, mais je sous entendai que je voulais le faire dynamiquement.
    excuse moi de m'être mal exprimé.

  4. #4
    Membre éprouvé Avatar de nemo69500
    Inscrit en
    juin 2005
    Messages
    639
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 639
    Points : 429
    Points
    429

    Par défaut

    ba je suis dsl j vois pas maias la reponse a ca m interresse , si qqun connait

  5. #5
    Membre éclairé Avatar de niglo
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : octobre 2004
    Messages : 379
    Points : 318
    Points
    318

    Par défaut

    Par exemple, tu peux faire un serveur sur le poste qui doit lister les ips !!
    Ce serveur attend les connexions de toutes les machines du réseau local et les listent ! Problème de cette méthode : tu dois lancer une appli sur tous les postes de ton réseau local. Tout dépend de ton réseau local (taille, diverses contraintes...) et de ce que tu veux faire avec la liste dynamique des ips !!

    Sinon, je ne vois rien d'autre pour le moment !
    Désolé

  6. #6
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    En fait j'ai une appli qui se connecte a un serveur dont l'adresse ip est configurée et stocké dans un fichier, mais je voudrais que, si l'appli n'arrive pas a se connecter a l'adresse indiqué, elle cherche automatiquement si il n'y a pas un autre serveur démarré sur le réseau.
    Je sais, c'est un peut fou, mais j'aimerais développer cette fonctionalité.

  7. #7
    Membre habitué Avatar de Freeze
    Homme Profil pro
    Inscrit en
    octobre 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : octobre 2002
    Messages : 130
    Points : 144
    Points
    144

    Par défaut

    Salut,

    Tu devrais essayer ca :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    void TFPrincipal::EnumNetRes(NETRESOURCE *nr,int rtype,int rusage)
       {
       AnsiString temp;
       HANDLE hEnum;
       if (WNetOpenEnum(RESOURCE_GLOBALNET,rtype,rusage,nr,&hEnum)!=NO_ERROR)
          return;
       DWORD Count=-1;
       DWORD BufferSize=1024;
       DWORD ReturnVal=0;
       NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
       ZeroMemory(NetRes,BufferSize);
       for (;;)
          {
          ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
          if (ReturnVal==ERROR_MORE_DATA)
             {
             Count=-1;
             delete []NetRes;
             NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
             ZeroMemory(NetRes,BufferSize);
             ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
             }
          if (ReturnVal!=NO_ERROR)   break;
          for (DWORD i=0;i<Count;i++)
             {
             if (NetRes[i].dwDisplayType==RESOURCEDISPLAYTYPE_SERVER)
             {
                temp=NetRes[i].lpRemoteName;
                LB->Items->Add(temp.SubString(3,temp.Length()));
             }
             if (( NetRes[i].dwUsage & RESOURCEUSAGE_CONTAINER)==RESOURCEUSAGE_CONTAINER)
                EnumNetRes(&NetRes[i],rtype,rusage);
             }
          if (ReturnVal==ERROR_NO_MORE_ITEMS)
             {
             delete []NetRes;
             WNetCloseEnum(hEnum);
             }
          }
       delete []NetRes;
       WNetCloseEnum(hEnum);
       }
    //---------------------------------------------------------------------------
    bon pour le moment j'ai mis le résultat dans une listbox que j'ai appelé LB
    , tu peux appeler cette fonction comme ca :

    Code :
    1
    2
     
    EnumNetRes(0,RESOURCETYPE_ANY,0);
    ca te donne le nom des postes ... si ca peut t'aider ...

  8. #8
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    Merci beaucoup, cela me suffit amplement.

  9. #9
    Débutant
    Profil pro saa sa
    Inscrit en
    février 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Nom : saa sa

    Informations forums :
    Inscription : février 2010
    Messages : 105
    Points : -8
    Points
    -8

    Par défaut

    bjour j'ai voulu essayer ce procedure en modifiant just l'affichage et sa ma pas marché elle rien afficher . merci d'avance
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    void TFPrincipal::EnumNetRes(NETRESOURCE *nr,int rtype,int rusage)
       {
       AnsiString temp;
       HANDLE hEnum;
       if (WNetOpenEnum(RESOURCE_GLOBALNET,rtype,rusage,nr,&hEnum)!=NO_ERROR)
          return;
       DWORD Count=-1;
       DWORD BufferSize=1024;
       DWORD ReturnVal=0;
       NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
       ZeroMemory(NetRes,BufferSize);
       for (;;)
          {
          ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
          if (ReturnVal==ERROR_MORE_DATA)
             {
             Count=-1;
             delete []NetRes;
             NETRESOURCE *NetRes=(NETRESOURCE *)new char[BufferSize];
             ZeroMemory(NetRes,BufferSize);
             ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
             }
          if (ReturnVal!=NO_ERROR)   break;
          for (DWORD i=0;i<Count;i++)
             {
             if (NetRes[i].dwDisplayType==RESOURCEDISPLAYTYPE_SERVER)
             {
                temp=NetRes[i].lpRemoteName;
                ShowMessage(temp.SubString(3,temp.Length()));
             }
             if (( NetRes[i].dwUsage & RESOURCEUSAGE_CONTAINER)==RESOURCEUSAGE_CONTAINER)
                EnumNetRes(&NetRes[i],rtype,rusage);
             }
          if (ReturnVal==ERROR_NO_MORE_ITEMS)
             {
             delete []NetRes;
             WNetCloseEnum(hEnum);
             }
          }
       delete []NetRes;
       WNetCloseEnum(hEnum);
       }
    et je l'ai appler dans ma code avec :
    Code :
    EnumNetRes(0,RESOURCETYPE_ANY,0);
    Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.

  10. #10
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    Salut,
    comment s'appelle la fenêtre principal de ton application ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  11. #11
    Débutant
    Profil pro saa sa
    Inscrit en
    février 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Nom : saa sa

    Informations forums :
    Inscription : février 2010
    Messages : 105
    Points : -8
    Points
    -8

    Par défaut

    Form1, mais moi j'ai enlever TFPrincipal::
    merci d'avance
    Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.

  12. #12
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    Alors dans les fichier .cpp de ta fenêtre principal tu ajoute le code donnée dans cette discussion en remplaçant TFPrincipal par TForm1
    Dans le .h de la même fenêtre tu dois avoir du code qui ressemble à cela, ajout-y la ligne que j'ai mis en rouge :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class TForm1 : public TForm
    {
      published :
      ...
      public :
      TForm1(TObject* Owner);
      ...
      void EnumNetRes(NETRESOURCE *nr,int rtype,int rusage);
    };
    Et maintenant tu n'as plus qu'a appeler cette méthode d'où tu veut dans la fenêtre principal
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  13. #13
    Débutant
    Profil pro saa sa
    Inscrit en
    février 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Nom : saa sa

    Informations forums :
    Inscription : février 2010
    Messages : 105
    Points : -8
    Points
    -8

    Par défaut

    toujour le meme probleme il m'affiche pas les nom des machines de reseau
    enfait avant que vous me reponder il compile sans erreur et meme maintenant avec le changement que vous m'avez donné il compile sans erreur mais il m'affiche pas ( si on vois dans la procedure il ya un showmessage en rouge). merci d'avance
    Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.

  14. #14
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    Je ne comprend pas, chez moi ca m'affiche bien tous les noms de machine correctement et j'ai ce code la
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  15. #15
    Membre éprouvé
    Inscrit en
    décembre 2004
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 531
    Points : 452
    Points
    452

    Par défaut

    ça marche bien pour moi, mais cela ne voit pas les passerelles et routeur.
    je me demande ou cela va chercher ces infos (DNS ?) car c'est très rapide, cela ne doit pas être une fonction découverte ???

    Moi un Scan IP met environs 1 minute par bloc de 255 adresse. et là ça prend 1 seconde...

  16. #16
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    Je ne sais pas non plus comment il fait, mais chez moi ca met environ 30 secondes pour qu'il me sorte tous les postes sur mon réseau, mais ca marche bien
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  17. #17
    Membre éprouvé
    Inscrit en
    décembre 2004
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 531
    Points : 452
    Points
    452

    Par défaut

    si tu pouvais mettre un nouveau poste inconnu du réseau pour voir... la première fois
    Tu as combien de poste Potiez sur ton réseau ??

  18. #18
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    La sur le réseau de ma boite il y a 21 postes, et je ne peut pas brancher d'autres postes désolé
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  19. #19
    Débutant
    Profil pro saa sa
    Inscrit en
    février 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Nom : saa sa

    Informations forums :
    Inscription : février 2010
    Messages : 105
    Points : -8
    Points
    -8

    Par défaut

    est ce que vous avez utiliser le code que j'ai noté la dessus et avec ce code il vous affiche les nom d'utilisateur?? .
    moi il compile mais pendant l'execution il m'affiche rien !!!
    merci d'avance.
    Je réponds à toutes vos questions claires et bien expliquées, si je sais bien sûr.Merci d'avoir pris quelques minutes pour faire bien.

  20. #20
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro Alexandre Pottiez
    Développeur C++
    Inscrit en
    novembre 2005
    Messages
    6 531
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Pottiez
    Âge : 29
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Santé

    Informations forums :
    Inscription : novembre 2005
    Messages : 6 531
    Points : 18 701
    Points
    18 701

    Par défaut

    J'ai bien pris le code que tu avait posté toi, et chez moi ca marche, donc c'est pas un problème de codage, peut être la configuration du réseau ou de ton poste
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •