SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Roll en Lunes 16 de Enero de 2006, 23:30
-
Hola gente
Necesito hacer lo siguiente:
kiero hacer un ping a una makina remota y comprobar si esta encendida... he probado con el Shell de esta manera
Shell "ping 000.000.000.000 > uno.txt", vbHide
Para luego comprobar el txt y ver si los paketes q envia se han recibido correctamente.
Pero el problema es q la instruccion del Shell no me crea el archivo :blink:
Alguna idea de porq? lo estoy haciendo mal??
Saludos! :comp:
-
Hola Roll, hazlo de esta forma:
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STILL_ACTIVE = &H103
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _
As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) _
As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Sub EsperarShell(sCmd As String)
Dim hShell As Long
Dim hProc As Long
Dim codExit As Long
' ejecutar comando
hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2)
' esperar a que se complete el proceso
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell)
Do
GetExitCodeProcess hProc, codExit
DoEvents
Loop While codExit = STILL_ACTIVE
End Sub
Private Sub Command4_Click()
EsperarShell ("ping 192.168.0.15 >C:\uno.txt")
End Sub
La función Esperarshell, no es mía, pero no me acuerdo de donde la conseguí, o sino pondría su origen. A cada uno sus méritos.
Saludos.
-
funciona perfecto,
GRACIAS :)