IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6]Résolution d'IP


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut [VB6]Résolution d'IP
    Bonjour,

    Je voudrais résoudre une adresse IP afin de récupérer le contenu dans une variable.
    Exemple
    MaChaine = MaSuperFonctionDeResolutionIP("213.36.226.25")
    J'ai essayé ça :
    shell "IpConfig 213.36.226.25"

    Mais j'ai la vague impression que VB me renvoit le port utilisé...

    Une solution ?
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    la commande pour faire la résolution c'est "ping -a 127.0.0.1" mais c'est pas très propre.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut Merci bien
    Merci bien, mais je connais ces commandes là. Je me suis mal exprimé.
    C'est dans mon code VB que j'ai besoin de récupérer la réponse. Puis, ce n'est pas un ping que je dois faire, mais une IpConfig. En effet, lorsqu'on fait IpConfig de mon IP, cela renvoit le provider. Avec les commandes dos, pas de problème, mais je voudrais le faire via VB, le stocker dans une base de données ensuite...
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  4. #4
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Je ne connais pas de fonction VB permettant de faire l'équivalent d'un IpConfig, mais ce que tu peux faire, c'est lancer un ipconfig redirigé vers un fichier depuis VB. Ensuite tu traites le fichier généré à l'aide de l'objet FileSystemObject.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut Re: Merci bien
    Citation Envoyé par Sadneth
    Merci bien, mais je connais ces commandes là. Je me suis mal exprimé.
    non non j'avais bien compris...

    tu prends mon code et tu le modifie comme ceci :

    shell "ping -a 127.0.0.1 > Retour.txt"

    ce qui copie le resultat du ping dans le fichier retour, ensuite un simple fileopen + la lecture te permet de recuperer l'hote.

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut ok, ok
    Ok, j'ai compris ta commande, mais hélas, je ne vois rien en résultat. Je veux dire que ce fichier Retour.txt n'est pas créé

    N'est-ce pas mieux de forcer comme ceci
    shell "ping -a127.0.0.1 > c:\test.txt"
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    oui c'est ça...

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut tjs pas
    Je reprend ce que je disais. Ca marche en DOS en fait. C'est que ca mettais du temps à répondre à cause de mon firewall.

    J'ai donc fait sous DOS
    ping 127.0.0.1 > c:\test.txt
    Hélas en Vb, ca ne marche pas
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  9. #9
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Ce serait trop facile si cela marchait ainsi.
    Shell ne prend que la chaine comprenant le chemin du programme, et ne sait pas interprêté les arguments passés au programme comme sous une fenêtre dos.
    Donc tu ne peux pas faire de redirection avec shell.
    Pour le faire il faut utiliser l'api CreateProcess (entre autres!!) ... C'est un peu long mais le code ci dessous le fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
     
    Public Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long
    Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
    Public Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long
    Public Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As Long, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Public Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
    '** Type pour gérer les lancement de process
    Type STARTUPINFO
        cb As Long
        lpReserved As String
        lpDesktop As String
        lpTitle As String
        dwX As Long
        dwY As Long
        dwXSize As Long
        dwYSize As Long
        dwXCountChars As Long
        dwYCountChars As Long
        dwFillAttribute As Long
        dwFlags As Long
        wShowWindow As Integer
        cbReserved2 As Integer
        lpReserved2 As Long
        hStdInput As Long
        hStdOutput As Long
        hStdError As Long
    End Type
    '** Info sur process
    Type PROCESS_INFORMATION
        hProcess As Long
        hThread As Long
        dwProcessID As Long
        dwThreadID As Long
    End Type
    '** Type pour E/S avec recouvrement
    Public Type OVERLAPPED
            Internal As Long
            InternalHigh As Long
            offset As Long
            OffsetHigh As Long
            hEvent As Long
    End Type
     
    Public Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100
    Public Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
    Public Const FORMAT_MESSAGE_IGNORE_INSERTS = &H200
    Public Const SUBLANG_DEFAULT = &H1                       '  user default
    Public Const LANG_NEUTRAL = &H0
    Public Const FILE_SHARE_READ = &H1
    Public Const FILE_SHARE_WRITE = &H2
    Public Const FILE_SHARE_DELETE = &H4
    Public Const FILE_ATTRIBUTE_NORMAL = &H80
    Public Const GENERIC_READ = &H80000000
    Public Const GENERIC_WRITE = &H40000000
    Public Const INVALID_HANDLE_VALUE = -1
    Public Const STARTF_USESTDHANDLES = &H100
    Public Const CREATE_NO_WINDOW = &H8000000
    Public Const CREATE_ALWAYS = 2
    Public Const STILL_ACTIVE = &H103&
    Public Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000
     
     
    Function GetSystemErrorMsg(num As Long) As String
    '** Renvoie message d'erreur
     
        Dim sMsg        As String * 128
        Dim i           As Integer
     
        If FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM Or FORMAT_MESSAGE_IGNORE_INSERTS, 0&, num&, (SUBLANG_DEFAULT * (2 ^ 10)) Or LANG_NEUTRAL, sMsg, 128&, 0&) = 0 Then
            Debug.Print Err.LastDllError
        End If
        i = InStr(sMsg, Chr(13))
        If i > 0 Then
            GetSystemErrorMsg = Left(sMsg, i - 1)
        Else
            GetSystemErrorMsg = sMsg
        End If
    End Function
     
     
    sub commandeDOS(sCommande as String, sSortieCommande as String)
        Dim Ret                     As Long
        Dim hOut                    As Long: hOut = INVALID_HANDLE_VALUE
        Dim bytesreaded             As Long
        Dim exitCode                As Long: exitCode = -1
        Dim buffer(0 To 127)        As Byte
        Dim sCommand                As String
        Dim strOut                  As String
        Dim ov                      As OVERLAPPED
        Dim secattr                 As SECURITY_ATTRIBUTES
        Dim proc                    As PROCESS_INFORMATION: proc.hProcess = INVALID_HANDLE_VALUE: proc.hThread = INVALID_HANDLE_VALUE
        Dim start                   As STARTUPINFO: start.hStdOutput = INVALID_HANDLE_VALUE: start.hStdError = INVALID_HANDLE_VALUE
     
        on error goto errotag
     
    '** Security attributes pour le fichier de sortie de la commande
        secattr.bInheritHandle = 1
        secattr.nLength = Len(secattr)
        secattr.lpSecurityDescriptor = 0
    '** Creation du fichier de sorite de la commande
        hOut = CreateFile("outfile.txt", GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE Or FILE_SHARE_DELETE, secattr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)
        If hOut = INVALID_HANDLE_VALUE Then
            Err.Raise Err.LastDllError, "commandeDOS", GetSystemErrorMsg(Err.LastDllError)
        End If
    '** StartupInfo pour le processus qui lancera la commande    
    	start.cb = Len(start)
        start.hStdOutput = hOut
        start.hStdError = hOut
     
        start.dwFlags = STARTF_USESTDHANDLES
    '** Lancement la commande
        Ret& = CreateProcess(0&, sCommande, 0&, 0&, 1&, CREATE_NO_WINDOW, 0&, 0&, start, proc)
        If Ret = 0 Then
            Err.Raise Err.LastDllError, "commandeDOS", GetSystemErrorMsg(Err.LastDllError)
        End If
    '** Attendre la fin de la commande
        Ret = GetExitCodeProcess(proc.hProcess, exitCode)
        Do While Ret <> 0 And exitCode = STILL_ACTIVE
            Ret = GetExitCodeProcess(proc.hProcess, exitCode)
            DoEvents
            Sleep 100
        	'Penser à gerer un timeout ici
        Loop
        If Err.LastDllError <> 0 Then
            Err.Raise Err.LastDllError, "commandeDOS", GetSystemErrorMsg(Err.LastDllError)
        End If
     
    '** Recupération de la sortie de la commande
        Ret = ReadFile(hOut, buffer(0), 128, bytesreaded, ov)
        Do While Ret <> 0
        '** Test de finc de fichier
            If bytesreaded = 0 Then
                Exit Do
            End If
        '** Transformation des bytes en charactères
            For i = 0 To bytesreaded - 1
                sSortieCommande = sSortieCommande & Chr(buffer(i))
                buffer(i) = 0
            Next
        '** Lecture suivante
            ov.offset = ov.offset + bytesreaded
            Ret = ReadFile(hOut, buffer(0), 128, bytesreaded, ov)
        Loop
        If Err.LastDllError <> 0 And Err.LastDllError <> 38 Then
            Err.Raise Err.LastDllError, "commandeDOS", GetSystemErrorMsg(Err.LastDllError)
        End If
    '** Fermeture handles
        CloseHandle hOut
        CloseHandle proc.hProcess
        CloseHandle proc.hThread
     
        Exit Sub
    errotag:
     
        If hOut <> INVALID_HANDLE_VALUE Then CloseHandle hOut
        If proc.hProcess <> INVALID_HANDLE_VALUE Then CloseHandle proc.hProcess
        If proc.hThread <> INVALID_HANDLE_VALUE Then CloseHandle proc.hThread
     
        Err.Raise Err.number, Err.source, Err.Description, Err.HelpFile, Err.HelpContext
     
    end sub
     
    sub test()
    	dim sortie as string
    	on error GoTo testerror
    	CommandeDos("ping -a 127.0.0.1",sortie)
    	debug.print sortie
    	exit sub
    testerror:
    	Msgbox err.number & " - " & err.Description
    end sub

  10. #10
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut Re: Résolution d'IP
    Citation Envoyé par Sadneth
    Bonjour,

    Je voudrais résoudre une adresse IP afin de récupérer le contenu dans une variable.
    Exemple
    MaChaine = MaSuperFonctionDeResolutionIP("213.36.226.25")
    J'ai essayé ça :
    shell "IpConfig 213.36.226.25"

    Mais j'ai la vague impression que VB me renvoit le port utilisé...

    Une solution ?
    Au fait ce n'est pas un port que Shell renvoi, mais l'ID du process qu'il vient de lancer

  11. #11
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut Wow !!!
    Woouuuuu, tu t'es laché... lol
    Ben ca plante sur ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, _
                                                                           ByVal dwDesiredAccess As Long, _
                                                                           ByVal dwShareMode As Long, _
                                                                           ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, _
                                                                           ByVal dwCreationDisposition As Long, _
                                                                           ByVal dwFlagsAndAttributes As Long, _
                                                                           ByVal hTemplateFile As Long) As Long
    Il me dit
    Type Défini par l'utilisateur non défini
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  12. #12
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Normal ... "Oubliage" de copier coller
    rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Type SECURITY_ATTRIBUTES
            nLength As Long
            lpSecurityDescriptor As Long
            bInheritHandle As Long
    End Type
    à la liste des types

  13. #13
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut eheh
    Désolé, je vais pas te lacher là... Ca doit un autre oubliage de copier coller, mais
    Sleep
    n'est pas défini...

    C'est une fonction que tu as du faire toi, non ?
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  14. #14
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  15. #15
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut Eureka !!!
    Voilà, ca marche super bien...
    Bon, mon firewall a réagi... eheh...

    Bon, à la base, ce n'est pas le PING qui l'intéressait, mais je voulais lacer
    IpConfig deMonIP

    Cependant, le DOS me renvoit une erreur. L'aide de XP ne m'aide pas plus en fait.
    Quelle est le moyen lorsque j'ai une IP de lancer une commande qui me donnera le fournisseur d'accés de l'IP ?

    Sinon, merci beaucoup, ca marche bien !!! Je n'ai plus qu'à mettre ça dans une superbe class & le tour sera joué :o)

    Sinon, as tu une solution pour IPConfig ?
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  16. #16
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Je ne te suis pas très bien :
    - Quelle est le message (ou autre) d'erreur que le DOS t'envoie?
    - Qu'entends tu pas "fournisseur d'accés de l'IP" ?

  17. #17
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut Bah ce n'est pas un message d'erreur
    Pour le PING, j'ai :
    Délai d'attente dépassé...
    Si je désactive mon Firewall, ca marche bien...

    Après pour IPConfig, j'ai :
    Erreur : ligne de commande inconnue ou incomplète.



    UTILISATION :

    ipconfig [/? | /all | /renew [carte] | /release [carte] |

    /flushdns | /displaydns | /registerdns |

    /showclassid carte |

    /setclassid carte [ID de classe] ]



    où :

    carte Nom de connexion

    (caractères génériques * et ? autorisés, voir les exemples)



    Options :

    /? Affiche ce message d'aide.

    /all Affiche toutes les informations de configuration.

    /release Libère l'adresse IP pour la carte spécifiée.

    /renew Renouvelle l'adresse IP pour la carte spécifiée.

    /flushdns Vide le cache de la résolution DNS.

    /registerdns Actualise tous les baux DHCP et réinscrit les noms DNS.

    /displaydns Affiche le contenu du cache de la résolution DNS.

    /showclassid Affiche tous les ID de classe DHCP autorisés pour la carte.

    /setclassid Modifie l'ID de classe DHCP.



    Par défaut, seuls l'adresse IP, le masque de sous-réseau et

    la passerelle par défaut pour chaque carte liée à TCP/IP sont affichés.



    Pour la libération et le renouvellement, si aucun nom de carte n'est spécifié,

    les baux d'adresse IP pour toutes les cartes liées à TCP/IP seront

    libérés ou renouvelés.



    Pour SetClassID, si aucun ID de classe n'est spécifié, l'ID de classe

    est supprimé.



    Exemples :

    > ipconfig ... Affiche les informations

    > ipconfig /all ... Affiche les informations détaillées

    > ipconfig /renew ... Renouvelle toutes les cartes

    > ipconfig /renew EL* ... Renouvelle toute connexion dont le nom

    commence par EL

    > ipconfig /release *Local* ... Libère les connexions correspondantes,

    par exemple "Connexion au réseau local 1" ou

    "Connexion au réseau local 2"
    J'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
               Public Function test()
    201          Dim sortie As String
    202          On Error GoTo testerror
    203          commandeDOS "IpConfig -a 127.0.0.1", sortie
    204          Debug.Print sortie
    205          Exit Function
    206 testerror:
    207          MsgBox Err.Number & " - " & Err.Description
    208        End Function
    Normalement, lorsqu'on fait ça, ca devrait me renvoyer que je suis localisé vers Marseille, et que mon fournisseur est Tiscali... Je m'y connais pas assez dans ce genre de truc.

    Quel est le but à la base ?
    J'ai créé une DLL utilisé d'une part par un site internet fait en ASP et d'autre part, cette DLL est utilisée aussi par un logiciel. Le but étant de n'avoir qu'un compossant qui fait l'accés aux données. Dans le site en question, j'ai un gestbook. Actuellement, j'enregistre dans ma base de données l'IP du gars qui laisse un message. Je voudrais compléter cette information dans un champ où je remplirai la résolution de l'IP : Fournisseur, ville... etc...
    Ca peut paraitre con, mais ca me permet en cas d'insulte ou autre de savoir d'où vient la personne...

    Voilà pour les explications...
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  18. #18
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Ok ..
    Tu te trompes sur IPConfig. Déjà ça ne marche pas car le message est assez clair : Il montre les options (.après les /) acceptées par la commande.
    Ensuite IPconfig c'est juste pour avoir la config de tes cartes réseaux.
    Un truc du genre
    Carte Ethernet Connexion au réseau local:

    Suffixe DNS propre à la connexion : teo
    Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection
    Adresse physique . . . . . . . . .: 00-09-6B-D0-59-81
    DHCP activé. . . . . . . . . . . : Oui
    Configuration automatique activée . . . . : Oui
    Adresse IP. . . . . . . . . . . . : 192.168.11.11
    Masque de sous-réseau . . . . . . : 255.255.255.0
    Passerelle par défaut . . . . . . : 192.168.11.1
    Serveur DHCP. . . . . . . . . . . : 192.168.11.1
    Serveurs DNS . . . . . . . . . . : 192.168.11.1
    Bail obtenu . . . . . . . . . . . : mercredi 31 décembre 2003 09:05:11
    Bail expirant . . . . . . . . . . : samedi 3 janvier 2004 09:05:11
    pour chaque carte.

    Pour ce qui est des info du fournisseur internet je sais pas trop.
    Essaie la commande dos
    tracert Ip
    où Ip est l'adresse IP que tu veux tester

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 23
    Points : 25
    Points
    25
    Par défaut
    la commande -a n'existe pas pour ipconfig

  20. #20
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut mouais
    Effectivement,
    j'ai essayé IpConfig, sans mon IP
    et il m'a sorti les infos que je voulais. Mais le but est de répondre l'IP du client, lol
    Ca reste un problème non résolu pour moi actuellement. J'ai déjà vu ça sur des sites professionnels et j'aimerais bien savoir comment ils font... lol

    Sinon, j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tracert -h 2 81.167.218.87
    Où -h 2 détermine le nombre de saut

    et ca a donné dans le fichier de sortie :
    D‚termination de l'itin‚raire vers sadneth [81.167.218.87]

    avec un maximum de 2 sautsÿ:



    1 * * * D‚lai d'attente de la demande d‚pass‚.

    2 * * * D‚lai d'attente de la demande d‚pass‚.



    Itin‚raire d‚termin‚.
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VB6] mettre en commentaires...
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2004, 15h15
  2. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 08h57
  3. Réponses: 1
    Dernier message: 22/08/2002, 17h00
  4. [Crystal Report][VB6] instruction PrintReport
    Par yyyeeeaaahhh dans le forum SDK
    Réponses: 4
    Dernier message: 29/07/2002, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo