Ping avec vb6 [Résolu]

Messages postés
2
Date d'inscription
mercredi 6 février 2008
Dernière intervention
20 août 2010
- - Dernière réponse : cs_ranitta
Messages postés
2
Date d'inscription
mercredi 6 février 2008
Dernière intervention
20 août 2010
- 20 août 2010 à 13:34
bonjour tout le monde, priere j'ai besoin d votre aide, dans le cadre du projet de fin d'etudes je cherche une petite application en vb6 qui teste la connectivité d'une machine a un reseau dans chaque intervalle de temps par l'util ping et affiche le resulta? merci d'avance
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
540
Date d'inscription
mardi 4 août 2009
Dernière intervention
1 février 2013
3
Merci
tu peux utiliser la fonction shell:
Shell "ping 192.10.3.4" '192.10.3.4:juste un exemple


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0

Merci NSUADI 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de NSUADI
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
3
Merci
Façon pas trop sauvage via l'API Winsock : http://files.codes-sources.com/fichier.aspx?id=36588&f=SocketAPIPing\Form1.frm

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question

Merci cs_ghuysmans99 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Messages postés
309
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
15 juin 2015
3
Merci
J'ai essayé plusieurs méthode de ping, publié ici. Ma préférée et celle qui fonctionne sur à chaque fois est celui là :

dans un module :
Option Explicit

Const SOCKET_ERROR = 0
Private Type WSAdata
    wVersion As Integer
    wHighVersion As Integer
    szDescription(0 To 255) As Byte
    szSystemStatus(0 To 128) As Byte
    imaxsockets As Integer
    iMaxUdpDg As Integer
    lpVendorInfo As Long
End Type
Private Type Hostent
    h_name As Long
    h_aliases As Long
    h_addrtype As Integer
    h_length As Integer
    h_addr_list As Long
End Type
Private Type IP_OPTION_INFORMATION
    TTL As Byte
    Tos As Byte
    Flags As Byte
    OptionsSize As Long
    OptionsData As String * 128
End Type
Private Type IP_ECHO_REPLY
    Address(0 To 3) As Byte
    Status As Long
    RoundTripTime As Long
    DataSize As Integer
    Reserved As Integer
    Data As Long
    Options As IP_OPTION_INFORMATION
End Type

Private Declare Function GetHostByName Lib "wsock32.dll" Alias "gethostbyname" (ByVal HostName As String) As Long
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVersionRequired&, lpWSAdata As WSAdata) As Long
Private Declare Function WSACleanup Lib "wsock32.dll" () As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Private Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
Private Declare Function IcmpCloseHandle Lib "icmp.dll" (ByVal HANDLE As Long) As Boolean
Private Declare Function IcmpSendEcho Lib "ICMP" (ByVal IcmpHandle As Long, ByVal DestAddress As Long, ByVal RequestData As String, ByVal RequestSize As Integer, RequestOptns As IP_OPTION_INFORMATION, ReplyBuffer As IP_ECHO_REPLY, ByVal ReplySize As Long, ByVal TimeOut As Long) As Boolean

Public Function DoPing2(HostName As String, Optional sResultat As String) As Boolean
    Dim hfile As Long, lpWSAdata As WSAdata
    Dim hHostent As Hostent, AddrList As Long
    Dim Address As Long, rIP As String
    Dim OptInfo As IP_OPTION_INFORMATION
    Dim EchoReply As IP_ECHO_REPLY
    Const iTimeOut As Integer = 200    'ms

    On Error GoTo err:


    Call WSAStartup(&H101, lpWSAdata)

    If GetHostByName(HostName + String(64 - Len(HostName), 0)) <> SOCKET_ERROR Then
        CopyMemory hHostent.h_name, ByVal GetHostByName(HostName + String(64 - Len(HostName), 0)), Len(hHostent)
        CopyMemory AddrList, ByVal hHostent.h_addr_list, 4
        CopyMemory Address, ByVal AddrList, 4
    End If

    hfile = IcmpCreateFile()
    If hfile = 0 Then
        MsgBox "Impossible de créer le Handle du Ping"
        Exit Function
    End If
    OptInfo.TTL = 255
    If IcmpSendEcho(hfile, Address, String(32, "A"), 32, OptInfo, EchoReply, Len(EchoReply) + 8, iTimeOut) Then
        rIP = CStr(EchoReply.Address(0)) + "." + CStr(EchoReply.Address(1)) + "." + CStr(EchoReply.Address(2)) + "." + CStr(EchoReply.Address(3))
    Else
        ' Timeout
        err.Raise 1234, "Time out", "Ping failed..."
    End If
    If EchoReply.Status = 0 Then
        'Ping OK
        sResultat = rIP
        DoPing2 = True
    Else
        ' Ping Failure ...
        DoPing2 = False
    End If
    Call IcmpCloseHandle(hfile)
    Call WSACleanup
    Exit Function

err:
    DoPing2 = False
    err.Clear
    Call IcmpCloseHandle(hfile)
    Call WSACleanup
End Function


Pour pinger tu fais :
dim MonPing as boolean
MonPing = DoPing2 (TonAdresseIP)

Merci Philippe734 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Philippe734
Messages postés
2
Date d'inscription
mercredi 6 février 2008
Dernière intervention
20 août 2010
0
Merci
merciiiiiiiiiiiiiiiiiiii tout l mond
Commenter la réponse de cs_ranitta

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.