Dic 162021
 

Esta es una aplicación sencilla para añadir un video como fondo de pantalla. Esta aplicación la había hecho hace muchos años atrás pero había dejado de funcionar ya que había cambiado la forma en que se renderizaban los videos, pero el colega J. Elihu encontró una aplicación open source donde hace un truco para poner una ventana como fondo de escritorio, ósea por detrás de los iconos del escritorio, esto significa que si es una ventana en ésta se pueden poner muchas cosas, como por ejemplo una página web, o cualquier cosa que queramos mostrar, claro que no podrá recibir eventos del mouse ya que está detrás del listview.
Son muy pocas líneas para lograr este truco, el resto es un conjunto de módulos para reproducir un video realizado por Frank Schüler que utiliza  MediaEngine ClassFactory.

En cuanto al proyecto está sencillo, faltaría añadir opciones como iniciarse con Windows, crear una lista de videos y otras. Por el momento pone un icono en la barra junto a la hora, donde mediante un menú desplegable podremos seleccionar el video a reproducir, también abre con líneas de comando. Sólo la he probando en Windows 10.

La descarga es un poco pesada porque incluí dos videos de demostración, pueden descargar más aquí

Dic 192020
 

Este proyecto me lo compartió el colega J. Elihu quien fue que lo trabajo, así que les dejo como descripción su propio Readme.txt para que entiendan mejor. Se los recomiendo!

CONTENIDO:

  1. ¿Que es vbSqlite?
  2. Caracteristicas
  3. ¿Como usar?
  4. Licencia

  1. ¿Qué es vbSqlite3?

SQlite3 + VB6: vbSqlite3 es un envoltorio (ligero,entendible) que permite
integrar el motor de base de datos de SQlite con las aplicaciones de VB6
Todo estos sin generar dependencias (ODBC, ADO y DLL’s activex) y usando
las versiones actuales del MDB de SQlite3.

REQUERIMIENTOS

- Sqlite3.dll   -> MDB de Sqlite.
- cLib      -> Conectar Sqlite3.dll + VB6.
- cSqlite   -> Conexión a la base de datos.
- cSqliteCursor -> Manejador de consultas a la base de datos.

CREDITOS

- Cobein   (mSqlite.bas)
- Cocus    (cSQLiteConnection.cls)
- Cocus    (cSQLiteRecordset.cls)

  1. Caracteristicas

vbSqlite3 implementa todas las funciones requeridas para una conexión con
el motor de base de datos de SQlite, adicionalmente implementa rutinas,
propiedades y funciones que facilitan su uso y claro entendimiento.
El envoltorio permite:

- Ejecutar commandos SQL de SQlite.
- Adjuntar varias bases de datos a una conexión de SQlite.
- Copia de seguridad de la 'db' (backup).
- Eliminar los espacios en blanco de la 'db' (vacuum)
- Configurar el modo WAL de la 'db'
- Cambiar la codificación de la 'db'
- Activar/Desactivar la restrición de claves foraneas.
- Cambiar el modo de sincronización de la 'db'.
- Obtener el código y mensaje de error.
- Insertar/Actualizar datos mediante un objeto de consulta
  (cSqliteCursor) - (Sqlite_bind_*).
- Reestablecer los objetos de consulta (reset).
- Obtener los campos BLOB de una consulta.
- Adjuntar datos a una declaracion preparada (Sqlite_bind_*).
- Obtener la ID del ultmio registro insertado.
- Obtener la cantidad de registros afectados por una consulta.
- Ejecutar transacciones desde una coleccion de sentencias SQL.
- Obtener y establecer la version de usuario(UserVersion).
- Crear multiples instancias de conexión (cSqlite).
- Cargar la libreria de SQlite desde una ruta personalizada.

Las actualizaciones posteriores del envoltorio pueden incluir nuevas
características y funciones.


  1. ¿Como usar?

Se incluye la demo en el proyecto como guia de incio rápido para el uso del
envoltorio.

1 - Incluya Sqlite3.dll en la carpeta de su proyecto, o en la carpeta
    System32, o cargue la dll desde una ruta personalizada.
2 - Cree una nueva instancia de cSqlite y establezca la conexión.
3 - Llame a cSqlite.Execute para ejecutar sentencias SQL.
4 - Llame a cSqlite.Query para instanciar un nuevo objeto de consulta.
5 - Para interactuar con el objeto de consulta, segun el caso, llame a: 
    cSqliteCursor.Step
    cSqliteCursor.Value
    cSqliteCursor.BLOB
    cSqliteCursor.Bind
    cSqliteCursor.Reset
6 - Para finalizar la conexión, destruya primero la instancia del
    objeto de consulta (cSqliteCursor) y luego la instancia de la
    conexión(cSqlite).

Para Añadir/Actualizar/Remover datos mediante un objecto de declaracion
preparada debe usar la rutina: ‘cSqliteCursor.Bind’. Para mayor información
consultar la documentacion oficial: https://www.sqlite.org/docs.html


  1. Licencia

  - El envoltorio 'vbSqlite3' es gratuito.
- El envoltorio es de propiedad del autor.
- Se puede editar/cambiar/redistribuir el codigo manteniendo los
  creditos del autor.
- Se permite redistribuir el codigo fuente siempre que no se cobra
  ninguna tarifa.

J. Elihu
E-mail: elihulgst.10@gmail.com

vbsqlite3_1.jfif
vbsqlite3_2.jfif
vbsqlite3_3.jfif
Ene 212011
 

Esta es la Tercera parte del proyecto de administración remota, se han añadido capturador de Audio remoto y Pantalla remota.
Para esta al tanto de que se trata este proyecto leer este topic.

Algunos detalles:
-El audio en una red LAN es bastante fluido, pero atreves de internet tiene unas pequeñas pausas, no tuve mucha oportunidad de ir ajustándolo ya que necesito molestar a alguien más para poder ir probándolo. (Nota: si lo prueban en su misma PC la experiencia es muy mala.)
-El escritorio remoto funciona bastante bien, podría decirse que mucho mejor que la versión anterior, los inconvenientes que encontré fue con el  presionado de algunas teclas que no funcionan por ejemplo el @ y el icono cursor a veces puede no cambiar bien  (lo cual tengo en mente cambiar algunas cosas más adelante.)

Remote Audio Capture
Remote Screen Capture

Dic 092010
 

Esta es la segunda parte del proyecto (aún sin nombre) de administración remota, en esta segunda parte se han añadido mas herramientas entre ellas Visor de Procesos y Ventanas, Visor de Webcam, Registro, Consola y Keylogger, el proyecto sigue en etapa de desarrollo por lo que hay muchos cabos sueltos.
Para esta al tanto de que se trata este proyecto leer este topic.

Como siempre me ver sus comentarios, que debería tener, que esta mal, que debería cambiar , o que no funciona.

KeyLogger
Procesos
Tareas
Registro
WebCam
Consola

Nov 242010
 

Esta es la primera etapa de un proyecto que estoy realizando, la idea es intentar crear humildemente una herramienta al estilo Poison o Brifrost entre otros tantos que rondan  por la web (ni a palos el Stub final tendrá el tamaño de los mencionados). En esta primera parte está sólo la del explorador de archivos y carpetas.
Para los que no están al tanto sobre estas herramientas, son comúnmente conocidas como troyano, pero esto no tiene por que ser así, también se utilizan como controlador o administrador remoto entre dos o más PC. Este tipo de herramientas cuenta con explorador de archivos, escritorio remoto, keylogger, webcam remota, editor de registros, etc.; es decir podemos controlar otra PC prácticamente como si estuviéramos en la nuestra. Como mencionaba, este proyecto está en su primera parte y sólo cuenta con el explorador.
Si bien quedó muy parecido al de Windows voy a mencionar algunas de las herramientas con las que cuenta:
– Soporta multi-conexiones (cada una de ellas las muestra en una lista con algunos datos -ver figura 4-).
– Cortar, copiar, pegar y renombrar archivos (el portapales es sólo válido para las ventanas del proyecto, no va a interactuar con el Explorer de Windows).
– Eliminar archivos (por seguridad no los elimina completamente sino que los envía a la papelera de reciclaje).
– Cambiar los atributos.
– Comprimir y descomprimir en Zip (muestra el progreso).
– Descargar y transferir archivos (cuenta con un panel en el que podemos realizar más de una descarga o transferencia a la vez -ver figura 3-).
– Buscar archivos tal como lo hacemos en Windows.
– Podemos visualizar en forma de thumbnails cada archivo y carpeta remota.
– Visualizar un detalle muy completo del archivo seleccionado.

– Ejecutar (normal y oculto con líneas de comandos).

Explorador remoto

Explorador remoto

Escritorio remoto

Escritorio remoto

Por defecto utiliza el puerto 100 (aún no es configurable de forma usuario, para cambiarlo buscar en el Form_Load del servidor y el cliente).
Lo mismo para la IP, por defecto utiliza 127.0.0.1 para cambiarlo buscar en el Form_Load del cliente.
La conexión es inversa, e intenta reconectar cada 10 segundos en caso de que la conexión no haya tenido éxito
No tiene dependencias, (Solo funciona con versiones de Windows XP y posteriores.)

Hay muchos cabos sueltos aún ya que sólo se encuentra en etapa de proyecto.

Cosas que me hubiera gustado implementar pero no me dió el cuero:

– Drag and Drop (si bien es posible, no encontré la forma de hacerlo desde el ListView hacia el Explorer de Windows teniendo en cuenta que el archivo hay que descargarlo, digo que es posible ya que el FileZilla FTP lo hace).
– Multiselección de archivos y carpetas (se complicaba mucho, ya que no se puede transferir carpetas, para ellos hay que comprimirlas previamente).
– Poder cambiar el idioma (lo pensé muy tarde y ya venía desorganizado).

Sé que muchos van a preguntar lo mismo, así que ya lo voy aclarando:
– ¿Puede utilizarse a través de internet?,  «SI» pero tienes que saber configurar tu router, modem, firewall, antivirus etc. (yo no les puedo ayudar en eso, preguntar en foros especializados).
– No me conecta!, (Si conecta!!!!, como dije antes, buscar el problema por otro lado.)
– El código de fuente es muy complicado si no se tienen los conocimientos necesarios (yo no puedo ayudarte a implementarle algo más, no es de mala leche pero no hago tareas).

Sin más, esperemos, que no quede tirado y pueda seguir con este proyecto más adelante. Cualquier bugs encontrado o sugerencia pueden notificarlo en los comentarios o en el foro.

Feb 032010
 

Este Proyecto comenzó en Febrero del 2007 en resultado a este hilo  donde conocí a Cobein y decidimos intentar crear un Escritorio Remoto, si bien hubo buenos avances, el proyecto quedó parado, y bueno me decidí a terminarlo. Aunque esté muy lejos de la velocidad del VNC o TeamViewer, creo que los esfuerzos son redituables.
Para los que no saben de qué se trata, les explico, son dos aplicaciones que se conectan vía IP y puede manipularse la pantalla de una PC remotamente, por ejemplo si un cliente en china y se conecta a tu PC, tú puedes manejar a ésta como si estuvieras parado en frente a ella.

Que opciones tiene?:

  • Transmitir la captura de la pantalla.
  • Transmitir el icono del cursor.
  • Mover el mouse y hacer click.
  • Escribir remotamente.
  • Enviar y recibir el texto del portapapeles.
  • Seleccionar la calidad de las capturas (mientras más baja, mayor velocidad de transmisión).
  • Opción de ver en pantalla completa o en modo ajustado a la ventana.

Fallos encontrados:

  • No se pueden hacer combinaciones de teclas, es decir, no se puede utilizar Ctrl + V (tendría que cambiar el método utilizado).
  • No pude testarlo bien ya que no cuento con otra PC para realizar todas las pruebas necesarias y tuve que arreglarme con la PC Virtual, así que quizás remotamente empiecen a saltar algunos que otros errores o cuelgues de transmisión.

Cosas a destacar:

  • La conexión es Inversa, pero poniendo algo de mano en el código puede revertirse.
  • Utiliza GDI+ esto significa que sólo funcionará desde Windows XP en adelante.
  • No envía la captura de la pantalla completa, sino sólo los fragmentos modificados.
  • El código creo que está medianamente prolijo y entendible, si se tiene los conocimientos necesarios.

Remote Desktop
Escritorio Remoto

Ago 282009
 

Esta es la segunda versión del Descargador, en esta segunda parte se implementaron múltiples conexiones a un mismo servidor para acelerar la descarga. Las conexiones las va agregando en el ListView en forma de Nodos, los cuales trabajan de la misma forma que un TreeView, cada conexión posee un estado el cual es graficado en forma de progreso en el ListView. También se implementó un formulario al estilo ToolTip como el Ares, donde se muestra en forma de Celdas el progreso de cada petición.
Nota: No todos los servidores soportan múltiples conexiones, en estos casos trabajará con una sola.

Clic en la imágen para ver más capturas.
Descargador Multiconexión

Ago 162009
 

Este es un proyecto de un descargador múltiple de archivos en la web, en su proceso de descarga nos informa el nombre del archivo, tipo, estado de la descarga, progreso en forma gráfica, velocidad de descarga, tiempo restante, bytes descargados.
También tenemos la opción de pausar, retomar o cancelar la descarga, el proyecto utiliza el módulo clase CDownload, al cual le he hecho algunas reformas para poder pausar y reanudar la descarga, entre otras.
Para mostrar el progreso utilicé la clase cListViewProgress y algunas apis para cambiar algunos aspectos del Toolbar y el ListView, el proyecto podrá apreciarse mejor si éste está compilado ya que de esa forma se aplicarán los temas de Windows.

Jun 092009
 

Esta es la segunda versión de este proyecto, en esta versión se corrigen muchas fallas, y se optimiza mucho mas todo el código y su ejecución. lo nuevo es la implementación de dscwpmsg.dll para hacer un hook a la barra de tareas, ahora también se puede obtener una vista previa de las ventanas agrupadas en un mismo botón. Las vistas previas toman la región original de la ventana y la ajustan al tamaño de las mismas. Se dejó el ToolTip original de la barra de tareas, el uso de la api PrintWindow para obtener las capturas. En caso de que el Explorer se cierre por algún error la aplicación se reinicia siguiendo su ejecución normal.
Cuando ejecuten el proyecto no lo detengan desde el Stop de Visual Basic, ya que tiene cuatro AddressOf en ejecución, para detenerlo háganlo desde el menú que se despliega con el icono que se encuentra junto a la hora de barra de tareas.
Las vistas previas las ira generando a medida que vayamos pasando el mouse por encima de cada botón de la barra, si al ejecutar por primera vez el proyecto y la ventana está minimizada, esta será capturada sólo cuando haya tomado el foco.

Task Preview

May 072009
 

Se trata de dos proyectos para enviar capturas de una webcam a través de los Socket, es decir, podrás enviar capturas de una webcam por internet en una conexión Cliente-Servidor, ambos trabajan con la clase CSocket y no dependen del Winsock.ocx, las capturas son comprimidas a .JPG con la clase cJpeg y no dependen de GDI+, si ejecuta el servidor éste se ejecutará de manera oculta, por lo que sólo podrán cerrarlo con el Cliente desde el administrador de tareas, el Cliente cuenta con dos opciones para elegir el tamaño y calidad de la captura (mientras más bajos sean estos valores más rápido será la transferencia), también posee una barra de progreso que muestra el envió de cada captura.

Webcam

May 012009
 

Este proyecto es algo similar al Widget del Tiempo pero mucho más sencillo, lo que hace es poner un ícono con el estado del tiempo de la localidad seleccionada en la Barra de Tareas y al pasar el mouse sobre éste se despliega una ventana tipo ToolTip con una información más detallada, tal como se aprecia en la imágen.
En este proyecto utilicé una clase (ClsXML) para parsear un XML que descarga de accuweather.com con la información del clima, agradezco a xKiz por ayudarme con este paso, no utilicé la referencia de Microsoft ya que éste aumentaba mucho más el tamaño de la memoria en el ejecutable.
Para cambiar de localidad sólo basta con hacer doble click sobre el ícono y se abrirá una ventana con las opciones de búsqueda, si hacen click derecho se despliega un menú con otras opciones.

Clima en la Barra de Tareas

Mar 232009
 

Este es un proyecto que tiene como utilidad para aquellos que se cuelgan y se les llena el escritorio de archivos y carpetas, y cuando tienen que buscar algo no saben por dónde empezar (yo soy uno). Con este proyecto podremos escribir sobre el cuadro de texto lo que deseamos buscar, tal como se muestra en la imágen, a continuación se irá completando una lista con las posibles coincidencias y se resaltarán los iconos correspondientes a cada nombre de archivo.

Buscador en el Escritorio

123movies