Modif de ping sous dos avec reconnaissance de l'os

Contenu du snippet

Ce code est une récupération de la fonction pingdos et de la fonction de reconnaissance d'OS....ce qui permet tout simplement à la fonction pingdos de fonctionner correctement....lol

Source / Exemple :


'PREMIERE FONCTION A METTRE DANS LE FORMULAIRE
'------------------------------------------------------------------
Function PingDos(AdIP As String)
    Dim Commande As String
    Dim Resultat As Long
    Dim Ad_a_tester As String
    Dim Handle As Long
    Dim Fichier As String
    Dim Ligne As String
    Dim EstOK As Boolean
    Dim t As Long
    Dim ligdos As String

 Fichier = "C:\resultat.txt"  ' à changer si vous ça vous va pas...mais le c: tout le monde (ou presque) l'a
 Ad_a_tester = AdIP

Dim L As Long
MonOs.dwOSVersionInfoSize = Len(MonOs)
L = GetVersionEx(MonOs)

Select Case MonOs.dwPlatformId
     Case VER_PLATFORM_WIN32_NT
        Commande = "cmd.exe /c ping " & Ad_a_tester & " >" & Fichier   'cas de NT,2000,XP
        ligdos = "R‚ponse de " & Ad_a_tester & "ÿ: octets"
     Case VER_PLATFORM_WIN32_WINDOWS
        Commande = "command.com /c ping " & Ad_a_tester & " >" & Fichier 'cas de 98,98SE,millenium
        ligdos = "R‚ponse de " & Ad_a_tester & " : octets"
End Select

    Resultat = Shell(Commande, vbMinimizedNoFocus)

    t = Timer
    Do
        If Timer - t > 5 Then Exit Do
        DoEvents
    Loop
    Do
        DoEvents
        err = 0
        On Error Resume Next
        If FileLen(Fichier) <> 0 And err = 0 Then Exit Do
    Loop
    EstOK = False
    Handle = FreeFile
    Open Fichier For Input As #Handle
        While Not EOF(Handle)
            Input #Handle, Ligne
            If InStr(Ligne, ligdos) <> 0 Then
                EstOK = True
            End If
        Wend
    Close #Handle
        Kill Fichier
        
    If EstOK = True Then
        MsgBox (Ad_a_tester & " Trouvé !")
    Else
        MsgBox (Ad_a_tester & "Non trouvé")
    End If

End Function

'autre fonction A METTRE DANS UN MODULE
'--------------------------------------------------------------------------

Option Compare Database

Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128
End Type
Global MonOs As OSVERSIONINFO

Public Const VER_PLATFORM_WIN32_NT = 2
Public Const VER_PLATFORM_WIN32_WINDOWS = 1
Public Const VER_PLATFORM_WIN32s = 0

Conclusion :


Ce code n'est que de la récupération, j'ai rien inventé mais je pense que la fonction pingdos alors utilisable sous différents windows peut se révéler trés utile pour des applis tourner réseau....

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.