1 Attribute VB_Name
= "NET"
8 Public Declare Function InternetGetConnectedState _
9 Lib "wininet.dll" (ByRef lpdwFlags
As Long, _
10 ByVal dwReserved
As Long) As Long
11 'Local system uses a LAN to connect to the Internet.
12 Public Const INTERNET_CONNECTION_LAN
As Long = &H2
14 Public Const INTERNET_CONNECTION_OFFLINE
As Long = &H20
16 Public Function GetNetConnectString() As Boolean
18 On Error GoTo GetNetConnectString_Err
23 If InternetGetConnectedState(dwflags
, 0&) Then
24 If dwflags
And INTERNET_CONNECTION_LAN
Then
25 GetNetConnectString
= True
28 If dwflags
And INTERNET_CONNECTION_OFFLINE
Then
29 GetNetConnectString
= False
33 GetNetConnectString
= False
38 GetNetConnectString_Err:
39 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.GetNetConnectString"
44 Public Function Cambio_IP() As IP
45 'Idea original de sortux, implementado por Vlad y hosting por No-IP
47 '1.0.16 -> Eliminado un "registrar "Enviando datos" innecesario
49 '1.0.19 -> Detectar cambios
50 ' Ahora es función y devuelve del cambio de ip
51 ' Forzar recarga de pagina
53 On Error GoTo Cambio_IP_Err
55 Static AntiguaIp
As String
56 Dim ActualIp
As String
57 ActualIp
= Trim
$(pSocket.HTML_GET)
59 If Len(ActualIp
) > 16 Or Len(ActualIp
) < 8 Then
60 Registrar
"+IP Pública: imposible obtener."
61 Cambio_IP
.Cambio
= True
65 Cambio_IP
.IP_Actual
= ActualIp
66 Cambio_IP
.Cambio
= (ActualIp
= AntiguaIp
)
68 If AntiguaIp
= vbNullString
Then AntiguaIp
= GetSetting("Reseter4.0", "Datos", "UltimaIP", vbNullString
)
69 Registrar
"+IP Pública: " & ActualIp
& IIf(ActualIp
= AntiguaIp
, " (La IP no cambió)", IIf(AntiguaIp
= vbNullString
, vbNullString
, " (OK, antes era: " & AntiguaIp
& ")"))
71 SaveSetting
"Reseter4.0", "Datos", "UltimaIP", ActualIp
75 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.Cambio_IP"
80 Public Sub Crear_Objeto_IE()
81 '100 Registrar "+Objeto IE: creando..."
83 On Error GoTo Crear_Objeto_IE_Err
85 hpObjetoIE
= SetTimer(0, 0, 0, AddressOf lpObjetoIE
)
89 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.Crear_Objeto_IE"
94 Public Sub Destruir_Conexion()
96 On Error GoTo Destruir_Conexion_Err
101 Destruir_Conexion_Err:
102 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.Destruir_Conexion"
107 Public Function RenovarLAN() As Long
109 On Error GoTo RenovarLAN_Err
111 RenovarLAN
= ShellExecute(frmPrincipal
.hWnd
, "", "ipconfig /renew all", "", "", 0)
112 Registrar
"~Renovación concluyó en " & RenovarLAN
116 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.RenovarLAN"
123 On Error GoTo res_Web_Err
125 On Error GoTo subError
126 'Reseteo via pagina web
127 Registrar
"+-[MODO WEB] Enviando datos"
129 ' Si es reseteo WEB lo primero que tenemos que hacer es armar la direccion a la que
130 ' vamos a navegar en base a los datos del preprocesador
133 'Procesamos la dirección a navegar en base al tipo de acción.
134 Select Case m_Datos
.accionTipo
137 'Si solo vamos a ejecutar Java, solo tenemos que pasar el comando como la dirección
138 m_Datos
.Direccion
= m_Datos
.accionEX
141 'En el caso de que vayamos a navegar o hacer clic, tenemos que contruir la direción
142 m_Datos
.Direccion
= "http://" & IIf(Len(m_Datos
.usuario
) <> 0, m_Datos
.usuario
& ":", vbNullString
) & IIf(Len(m_Datos
.clave
) <> 0, m_Datos
.clave
& "@", vbNullString
) & m_Datos
.base
& ":" & IIf(IsNumeric(m_Datos
.puerto
), m_Datos
.puerto
, 80) & m_Datos
.accionEX
145 If flag_Navegar
Then .Navigate m_Datos
.Direccion
146 Registrar
"Res_Web => armado: '" & m_Datos
.Direccion
& "'"
152 Do While .ReadyState
<> 4
156 frmWeb
.txtLog
.Text
= "!!! " & m_Datos
.Direccion
158 Select Case m_Datos
.accionTipo
162 If m_Datos
.nForm
= -1 And m_Datos
.nCont
= -1 Then
163 Registrar
"# de Formulario y Control invalido."
166 If (.Document
.Forms
.Length
- 1) >= m_Datos
.nForm
Then
167 If .Document
.Forms(m_Datos
.nForm
).Length
- 1 >= m_Datos
.nCont
Then
168 .Document
.Forms(m_Datos
.nForm
)(m_Datos
.nCont
).Click
169 Registrar
"Res_Web: Datos enviados [" & m_Datos
.nForm
& ", " & m_Datos
.nCont
& "]"
171 Registrar
"Res_Web: Err -> No existian suficientes controles"
176 Registrar
"Res_Web: Err -> No existian suficientes formularios"
183 If m_Datos
.nForm
= -1 And m_Datos
.nCont
= -1 Then
184 Registrar
"Sin datos, saltando de Llenado"
187 If (.Document
.Forms
.Length
- 1) >= m_Datos
.nForm
Then
188 If .Document
.Forms(m_Datos
.nForm
).Length
- 1 >= m_Datos
.nCont
Then
189 .Document
.Forms(m_Datos
.nForm
)(m_Datos
.nCont
).Value
= m_Datos
.accionEX2
190 Registrar
"Res_Web: Texto llenado"
192 Registrar
"Res_Web: Err -> No existian suficientes controles"
197 Registrar
"Res_Web: Err -> No existian suficientes formularios"
203 Registrar
"Res_Web: JAVA excutado"
215 Select Case Err
.Number
218 Registrar
"++Error -> probablemente el router es incorrecto"
221 Registrar
"++Error -> se desconoce la causa para un error #" & Err
.Number
227 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.res_Web"
232 Public Sub res_Telnet()
234 '28/04/07 - 2.0.4: Unido con "Iniciar_Telnet", "Iniciar_Telnet" eliminado
236 On Error GoTo res_Telnet_Err
238 Registrar
"+-[MODO TELNET] Enviando datos"
239 '102 MsgBox "Telnet Iniciado"
240 TelnetComandos() = Split(m_Datos
.accionEX
, ";")
241 Registrar
"No. de comandos a enviar: " & UBound(TelnetComandos
) + 1
243 Call frmTelnet
.ProcTelnet
247 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.res_Telnet"
253 Public Sub lpObjetoIE()
255 KillTimer
0, hpObjetoIE
256 Set IE
= CreateObject("InternetExplorer.Application")
258 If IE Is
Nothing Then
259 Registrar
"+Objeto IE: no creado"
263 IE
.RegisterAsBrowser
= True
267 Registrar
"+Objeto IE: creado"
270 Public Sub res_auro()
271 'Reseteo via pagina web
273 On Error GoTo res_auro_Err
275 Registrar
"+-[MODO WEB/AURONET] Enviando datos"
278 .Direccion
= m_Datos
.Direccion
284 Controlar_Error Erl
, Err
.Description
, "Reseter.NET.res_auro"