Incluso se puede implementar para saber las estadisticas de nuestros programas.
Hace tiempo tube la necesidad de que un programita tuviera esta funcion, de tal modo para yo saber si el programa estaba abierto o cerrado; asi qe me puse a pensar como hacerlo y me surgio la idea de los contadores de visitantes activos usados en programacion de paginas webs, asi que me puse a estudiar un poco de php y saber la forma de poderlo relacionar con VB.
Se me vino la idea de los browsers; asi que invesitigue un poco y pude terminar el subprograma.
para ello necesitamos una BD (base de datos: mysql) para almacenar la informacion, un script que nos muestre el resultado (state.php), otro script que informe a la BD su estado; y un codigo que ejecute la pagina web en el programa.
Debemos poseer una Base de Datos del tipo mysql para poder usar adecuadamente nuestro script.
Usare tripod.lycos.es para nuestra BD y alojar nuestros dos ficheros.
Te creas una cuenta en tripod.lycos.es y activas esta herramienta: PHP4U
la cual servira para la BD, luego abres la pagina de PHP4U que alli mismo encuentras y ahora veras una opcion de "Crear nueva tabla en base de datos" y pones nombre: visitantes, y en el numero de campos: 2
Necesitamos crear una base de datos llamada 'visitantes' con estos campos:
'ip' VARCHAR( 16 ) NOT NULL
'fecha' INT( 11 ) NOT NULL
y tendras algo como esto:
Dejo aqui dos enlaces para poder entender el codigo de los scripts:
Conexion a la BD: http://www.programacionweb.net/articulos/articulo/?num=51
Visitantes Activos: http://www.programacionweb.net/articulos/articulo/?num=135
state.php
Código
<html><head> <script language="javascript"> window.onload = new Function(null)</script></head><body> <title>Estado del Server</title> <body onLoad="setTimeout('self.location.reload()', 5000)"> <? // Configura tu conexion $db=mysql_connect( 'localhost','user_db','' ); // Aqui cambias user_db por el nombre de tu base de datos global $REMOTE_ADDR; $ip = $REMOTE_ADDR; mysql_query("delete from visitantes where fecha < " .$limite,$db); // Eliminamos deacuerdo al tiempo echo "<font face='verdana'><center>===========================<br>"; echo "<b>jackl007</b><br>"; echo "-------------------------------------------------<br>"; echo " Estado del Server: <b><font color='green'>Online</font></b> <br>"; echo "-------------------------------------------------<br>"; echo "===========================</font></center>"; } else { echo "<font face='verdana'><center>===========================<br>"; echo "<b>jackl007</b><br>"; echo "-------------------------------------------------<br>"; echo " Estado del Server: <b><font color='red'>Offline</font></b> <br>"; echo "-------------------------------------------------<br>"; echo "===========================</font></center>"; } ?> <noframes><iframe><noscript><xmp><pre>
monitorear.php
Código
<html><head> <script language="javascript"> window.onload = new Function(null)</script></head><body> <? // Configura tu conexion $db=mysql_connect( 'localhost','user_db','' ); // Aqui cambias user_db por el nombre de tu base de datos global $REMOTE_ADDR; $ip = $REMOTE_ADDR; } ?> <noframes><iframe><noscript><xmp><pre>
Ahora en nuestro proyecto de VB agregamos el control: Microsoft Internet Controls (para el webbrowser) y agregamos un control del mismo tipo al que llamaremos wb.
agregamos un Timer con Interval = 10000
y este trocito de codigo
Código
donde (...) es el nombre de usuario tuyo que has creado en tu cuenta de tripod.lycos.es
Private Sub Timer1_Timer() wb.Navigate "http://usuarios.lycos.es/(...)/monitorear.php" End Sub
Tambien se puede usar el contro Inet, pero el control que puse siempre esta en los ordenadores, porlo que ya no necesitamos llevar el dll del control para poder usarlo, lo que hace nuestro programa potable.
Saludos