![]() |
programa residente en memoria
Estimados.
Estoy haciendo una aplicación de base de datos locales en Delphi 7. El usuario realiza otras operaciones en el pc y en determinado momento ingresa en una base de datos uno o dos datos. Lo que megustaría hacer (aunque no sé si es posible) es un software que quede residente en memoria y cada vez que el usuario va a ingresar esos datos (teniendo aún el software de un tercero abierto) apreta algo así como unas hot keys de tipo "Ctrl F4", por decir algo, lo que provoca que se abre una ventanita con el formulario deonde ingresar los datos. El problema que me encuentro es como hacer para que un pequeño programa (que se puede cargar al iniciar el PC), quede en memoria y se active con alguna combinación de teclas definida. |
digamos que para hacerlo más fácil, no tendría problema en dejar residente un programa con un ícono en el sector tray. El tema sería cómo abrir el programa con una combinación de teclas, o dicho de otra forma, como programarlo para que responda en determinada forma cuando esas teclas se pulsen en cualquier momento.
Recuerdo hace unos 25 años existía un programita en pascal que dejaba residente un sonido para cada tecla y cuando el usuario escribia en cualquier programa las teclas hacían ruido. Creo que en aquel momento hacían uso de un método "keep", si mal no recuerdo. El código de un ejemplo como ese que funcione en Delphi me serviría como punto de partida. |
Estamos hablando de la prehistoria de la programación actual. Los famosos TSR (Terminate and Stay Resident) de los tiempos de DOS. Este tipo de programas se hicieron famosos precisamente por una creación de Borland, el famosos SideKick. Recordemos que en tiempos de DOS no existia (y creo que aún en Windoz) eso de multitasking, el SO se empeñaba en ser monotareas y no podía ejecutarse más de un programa a la vez.
En este tipo de programas se partía del siguiente pseudocódigo: Código:
1.- Preparar lo que se iba a hacer Con la llegada de Windows aparecieron los famosos Hooks y la API del mismo que no es otra cosa que una versión con esteroides de las antiguas interrupciones. Lo que pretendes hacer requiere que te metas directamente con la API de windows, programar un hook del teclado para que tu programa sea el primero en procesar cualquier evento de teclado antes que la aplicación del "tercero" y luego actuar en consecuencia. Aunque personalmente lo veo redundante porque al flojo del usuario le basta con hacer un click en la barra de tareas para cambiarse a tu aplicación, lo cual me parece que es menos esfuerzo que presionar dos teclas a la vez. |
Cita:
Revisa la ayuda de la API RegisterHotKey. Seguro que si buscas aquí en el foro sobre esta API también encuentras ejemplos, ya que hemos hablasdo más veces de ella. |
|
Gracias, eso buscaba
|
La franja horaria es GMT +2. Ahora son las 22:53:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi