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 :)