Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [VB6] Ping con Shell

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    102

    [VB6] Ping con shell

    Ciao,
    qualcuno mi sa dire la giusta sintassi da utilizzare:

    Cosi funziona perfettamente:
    codice:
    ping = Shell("cmd /k ping  10.0.0.159 > c:\ping1.txt", vbHide)
    Ma se io volessi inserire l'ip in una variabile come faccio ad inserirla all'interno:

    codice:
    Dim IPESEMPIO as String
    
    ping = Shell("cmd /k ping IPESEMPIO > c:\ping1.txt", vbHide)
    Così non mi funziona

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Ovviamente la devi concatenare....

    codice:
    Dim IPESEMPIO as String
    IPESEMPIO="192.168.0.1"
    
    ping = Shell("cmd /k ping " & IPESEMPIO & " > c:\ping1.txt", vbHide)
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    102
    Grazie avevo già provato ma non mi funzionava sicuramente sbagliavo qualcosa Ancora Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    102
    Esiste un modo per attendere che il ping sia finito prima di continuare ad eseguire la Sub

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Si, esiste un modo per attendere la chiusura di un processo prima di continuare, aspetta che lo posto.
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da kalosjo
    Si, esiste un modo per attendere la chiusura di un processo prima di continuare, aspetta che lo posto.
    Scusa, ma perchè devi preannunciare ogni risposta che stai per dare? :rollo:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Dichiarazioni
    codice:
    Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Public Const INFINITE = &HFFFF      '  Timeout infinito
    Public Const SYNCHRONIZE = &H100000
    
    Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    utilizzo (DaEseguire è il programma da eseguire con la shell , in questo caso il ping)
    codice:
            process_id = Shell(DaEseguire, vbNormalFocus)
            DoEvents
            process_handle = OpenProcess(SYNCHRONIZE, 0, process_id)
            If process_handle <> 0 Then
                WaitForSingleObject process_handle, INFINITE
                CloseHandle process_handle
            End If
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    102
    Ottima soluzione,
    però il fatto è che quando finisce di pingare rimane la shell aperta e questo mi manda in loop infinito.

    Non sarebbe possibileriuscire a chiuderla quando il ping e finito

  9. #9
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Invece di cmd /k, usa cmd /c
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    102
    sei stupefacente GRAZIE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.