Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Convertir Aplicacion en Activa (https://www.clubdelphi.com/foros/showthread.php?t=42909)

bohemioloco 25-04-2007 19:13:00

Convertir Aplicacion en Activa
 
Hola a todos

Me gustaría que me ayuden con lo siguiente:

Estoy haciendo una aplicación con sockets (server y client) para que corra normalmente en segundo plano y/o miimizada, lo que necesito es que cuando el ServerSocket reciba datos del cliente (evento OnClienteRead) la aplicación se convierta en activa y pase a primer plano del escritorio o por lo menos saque un mensaje en primer plano, he intentado hacerlo con showmessage pero si estoy trabajando con otra aplicación el mensaje no se muestra y el beep no me garantiza la atencion del usuario


Código Delphi [-]
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
ClientMensaje:string;
begin
ClientMensaje:=Socket.ReceiveText;
Beep;
showmessage(ClientMensaje);
mmResultados.Lines.Add(ClientMensaje);
end;




y... abusando de su paciencia, :) , quiesiera saber como hago para hacer que mi aplicación se ejecute al iniciar windows, encontre un hilo pero es para Windows 9x y yo necesito para windows xp

toda ayuda sera bienvenida

Saludos a todos

roman 25-04-2007 19:27:44

Pasar una ventana a primer plano automáticamente puede ser muy molesto para el usuario, sobre todo si éste escribe viendo al teclado y no al monitor.

Lo usual es hacer que parpadee el botón de la aplicación en la barra de tareas:

Código Delphi [-]
Windows.FlashWindow(Application.Handle, true);

o bien, optar por mostrar una ventana tipo messenger, que aparezca deslizándose en la esquina del reloj. Esto lo puedes hacer con la función AnimateWindow. Busca en los foros y verás cómo se usa.

Si insistes en activar la aplicación, quizá te sirva el hilo Aplicación en primer plano.

// Saludos

bohemioloco 25-04-2007 22:11:19

WOOW...que velocidad
 
Hola
Realmente me sorprendió la velocidad con que alguien me respondió, realmente son espectaculares en esto de ayudarnos a los novatos.... Gracias Roman.
En cuanto a tu comentario

Cita:

Roman
Pasar una ventana a primer plano automáticamente puede ser muy molesto para el usuario, sobre todo si éste escribe viendo al teclado y no al monitor.

Lo usual es hacer que parpadee el botón de la aplicación en la barra de tareas:

Código Delphi [-]
Windows.FlashWindow(Application.Handle, true);

Me parece que tienes toda la razon con esa observación asi que usare tu sugerencia de hacer parapadear el botón, aunque tambien investigare la funcion AnimateWindows para mejoras posteriores.

Si alguien sabe donde encuentro información sobre el punto de ejecutar la aplicación al iniciar windows XP toda ayuda sigue siendo mas que bienvenida.

Saludos

roman 25-04-2007 22:25:29

Cita:

Empezado por bohemioloco
Si alguien sabe donde encuentro información sobre el punto de ejecutar la aplicación al iniciar windows XP toda ayuda sigue siendo mas que bienvenida

Pues apenas ayer se habló de eso.

// Saludos


La franja horaria es GMT +2. Ahora son las 03:45:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi