Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo implementar el comando PING en VB?

¿Cómo implementar el comando PING en VB?

Utilice VB Shell para ejecutar el comando PING, redirija la salida de PING al archivo c:\r.txt y luego lea el archivo c:\r.txt para mostrar los resultados de la ejecución.

Dado que el comando Shell en VB se ejecuta de forma asincrónica, es decir, después de llamar al Shell, el programa continuará ejecutando la siguiente declaración sin esperar a que el Shell complete la ejecución. Por lo tanto, el programa utiliza la API del sistema para determinar si el shell ha terminado de ejecutarse.

1) Formularios y controles

2) Código

¿Opción?Explícito

¿Privado?Declarar?Función?GetExitCodeProcess?Lib? kernel32"?(? _

ByVal?hProcess?As?Long,? _

lpExitCode?As?Long)?As?Long

¿Privado? Declarar ?Función?CloseHandle?Lib?"kernel32"?(? _

ByVal?hObject?As?Long)?As?Long

¿Privado?Declarar?Función?OpenProcess?Lib ? ¿"kernel32"?(? _

¿ByVal?dwDesiredAccess?As?Long,?_

ByVal?bInheritHandle?As?Long,?_

ByVal ? dwProcessId?As?Long)?As?Long

Const?PROCESS_QUERY_INFORMATION?=?&H400

Const?STILL_ALIVE?=?&H103

Privado?Sub Command1_Click? ()

If?Trim(Text1.Text)?=?"" ?Then

MsgBox?"Ingrese el nombre de dominio o la dirección IP",?vbInformation?+?vbOKOnly

Text1.SetFocus

¿Salir?Sub

Fin?Si

'Deshabilitar el botón de comando durante la ejecución del comando'

Command1.Enabled?=?False

'Llamar a Shell para realizar Ping y redirigir los resultados de la ejecución a C:\r.txt

Dim?pid?As?Long

p>

pid?=?Shell("cmd.exe?/C?Ping?"? &?Text1.Text?&?" ? >?c:\r.txt",?vbHide)

'?Pregunta

Text2.Text?=?"Realizando Ping?"?&?Text1.Text?&?"?..."

'Esperando ejecución de Shell termina

Dim?hProc?As?Long

hProc?=?OpenProcess(PROCESS_QUERY_INFORMATION,?0,?pid)

Dim?ExitCode?As ?

Ejecutar

Llamar a GetExitCodeProcess(hProc,?ExitCode)

DoEvents

¿Bucle mientras?ExitCode?

' Abrir archivo C:\r.txt

¿Abrir?"c:\r.txt"? "For?Input?As?#1

Dim?strLine?As? String

Do?Until?EOF(1)

Línea?Input?#1,? "strLine

'Mostrar resultados de ejecución

Texto2 .Text?=?Text2.Text?&?strLine?&?vbNewLine

Bucle

'Cerrar el archivo

¿Cerrar?#1

'Eliminar C:\r.txt

¿En?Error?¿Reanudar?Siguiente

¿Eliminar?"c:\r.txt"

On?Error?GoTo?0

'Habilitar botón de comando

Command1.Enabled?=?True

Fin?Sub

¿Privado?Sub?Form_Load()

Texto1.Text?=?"

Texto2.Text?=?""

Fin?Sub

3) Resultados de la operación

Ping baidu.com se está ejecutando....

Resultados de la ejecución de Ping baidu.com