SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: AORGHL en Sábado 5 de Julio de 2003, 20:57
-
hola estoy intentando hacer un programa para poder apagar/reiniciar otros ordenadores conectados a la red e hecho dos programas uno cliente y otro servidor en el cliente he puesto este codigo:
Private Sub Command1_Click()
tcpClient.SendData "REINICIAR"
End Sub
Private Sub Form_Load()
tcpClient.RemoteHost = "xxx.xxx.xxx.xxx"
tcpClient.RemotePort = 1001
End Sub
Private Sub cmdConnect_Click()
tcpClient.Connect
End Sub
al ejecutarlo y darle al command1_Click me sale este error:
"error 4006"
"protocolo o estado de conexion erroneo para la transaccion o peticion solicitada"
y en el servidor he puesto :
Private Sub Form_Load()
tcpServer.LocalPort = 1001
tcpServer.Listen
End Sub
Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
If tcpServer.State <> sckClosed Then _
tcpServer.Close
tcpServer.Accept requestID
End Sub
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim data As String
tcpServer.GetData data, vbString
Select Case data
Case Is = "REINICIAR"
Dim lReiniciar As Long
lReiniciar = ExitWindowsEx(EWX_REBOOT & EWX_FORCE, 0&)
End Select
End Sub
con un modulo que he puesto esto otro:
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1
Public Const EWX_FORCE = 4
la verdad es que estoy muy trabado si alguien me podria hechar una mano se lo agradeceria muchisimo
-
Hola colega, si miras por el foro con mi nick encontraras todo lo ke necesitas sobre el control Winsock, de todas formas he creido ver un fallo a bote pronto ke es el ke no le dices ke tipo de conexion estas efectuando y ke deberia ser TCP-IP, cuando haces el tcpXXXXX.Close despues debes indicarle el tipo de protocolo ke debe ser el anterior. Fale? unsaludo
:hippi:
-
Gracias HurryCrack por fin lo he conseguido, bueno no reinicia sino cierra la sesion pero bueno eso es muy facil con cambiarle la API ya esta, dejo el programa ya terminado por si alguien quiere mejorarlo y por si a alguien le sirve de ayuda.