Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
¿Como se puede recuperar form oculto con hide?

Hola,tengo hecho un programa que se inicia y se oculta al iniciar windows.

Código Delphi [-]

procedure Tform1.Timer1Timer(Sender: TObject);
begin
  Programa;
begin
hide;

end;
end;

procedure Tform1.Regedit (run:byte; Nombre:string);
 var
    Registro:TRegistry;
begin
  Registro:=TRegistry.create;
  Registro.RootKey:=HKEY_LOCAL_MACHINE ;
    case run of
      1: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run\',FALSE) then
            Registro.WriteString('Programa', ParamStr(0));
      0: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run\',FALSE) then
            Registro.DeleteValue('Programa');
    end;
    Registro.free;
end;
procedure TCheckbox.iniciarconwindowsyocultarClick(Sender: TObject);
begin
  if Iniciarconwindowsyocultar.Checked then
    Regedit(1, 'Programa')

  else
    Regedit(0, 'Programa') ;

begin
if timer1.Enabled = true then
begin
 Timer1.Enabled := iniciarconwindowsyocultar.Checked=true ;
ActivarPrograma.Caption:= 'Activar Programa y Ocultar'
end
else
begin
  Timer1.enabled := iniciarconwindowsyocultar.Checked=true ;
   ActivarPrograma.Caption:= 'Detener Programa'
end;
end;
end;
procedure Tform1.activarcapturaClick(Sender: TObject);
begin
if timer1.Enabled=true then
begin
Timer1.Enabled := false;
ActivarPrograma.Caption:='Activar Programa y Ocultar'
end
else
begin
Timer1.Enabled:=true ;
ActivarPrograma.Caption:='Detener Programa'
end;
end;
procedure Tform1.AveriguarInicio(nombre:string);
var
   Registro : TRegistry ;
begin
   Registro := TRegistry.Create ;
   Registro.RootKey := HKEY_LOCAL_MACHINE;
   Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true) ;

       if Registro.ValueExists('Programa')= true then
      iniciarconwindowsyocultar.Checked:= true
    else
      iniciarconwindowsyocultar.Checked:= false ;

  Registro.Free;
end;
procedure Tform1.FormCreate(Sender: TObject);

begin
   
  AveriguarInicio('Programa');
end;


El programa funciona correctamente tanto en windows xp como en windows 7.El programa se oculta,tanto al activar el checkbox,como al presionar el button.Tambien hay un MainMenu asociado a cada uno de los botones.¿ Como se puede recuperar el form?.Es decir que vuelva a tener el foco.Gracias

Última edición por Casimiro Notevi fecha: 10-12-2010 a las 00:37:54. Razón: poner etiquetas [delphi] ...... [/delphi]
Responder Con Cita
  #2  
Antiguo 10-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo contrario de "hide" es "show"
Responder Con Cita
  #3  
Antiguo 10-12-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Epa Casimiro!

¿Cuándo llegaste a los 10 mil mensajes? ¿Ya hay hilo de festejo?
Responder Con Cita
  #4  
Antiguo 10-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
Si,ya lo he probado con 'show',lo he puesto en el formCreate y en el MainMenu he creado 'Mostrar' con Show.Pero no funciona.Yo me refiero a poder visualizarlo con una combinacion de teclas.Gracias.
Responder Con Cita
  #5  
Antiguo 10-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Al González Ver Mensaje
¡Epa Casimiro!
¿Cuándo llegaste a los 10 mil mensajes? ¿Ya hay hilo de festejo?
je, je... ayer mismo
Responder Con Cita
  #6  
Antiguo 10-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por lapidus Ver Mensaje
Si,ya lo he probado con 'show',lo he puesto en el formCreate y en el MainMenu he creado 'Mostrar' con Show.Pero no funciona.Yo me refiero a poder visualizarlo con una combinacion de teclas.Gracias.
¿Con una combinación de teclas?, ¿y qué problema tienes para hacerlo así?
Responder Con Cita
  #7  
Antiguo 10-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
El problema que tengo es,que cuando el form esta oculto,no funciona ninguna de las combinaciones de teclas,que tengo en el MainMenu.Supongo que es porque el form no tiene el foco.Por ejemplo,para activar el programa tengo puesto en el shortcut ctrl+t.Gracias Casimiro Notevi.
Responder Con Cita
  #8  
Antiguo 10-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Veamos si lo entiendo, el programa está minimizado en el "trayicon", junto al reloj de windows, no?
Y tú puedes estar en otro programa haciendo cualquier cosa.
Y quieres que con la pulsación de una combinación de teclas tu programa se active y muestre.
¿Es eso?
Responder Con Cita
  #9  
Antiguo 10-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
Hola Casimiro Notevi.El programa no está al lado del reloj,sino que esta oculto.Solo se puede ver que se esta ejecutando desde el programador de tareas de windows-procesos.Cuando le das al boton Activar Programa el form
desaparece de la pantalla y se activa el programa(el boton esta asociado al timer).Tambien cuando marcas el checkbox (que tambien esta asociado al timer)lo oculta y lo activa para que al reiniciar windows corra en modo oculto.
Gracias Casimiro Notevi.
Responder Con Cita
  #10  
Antiguo 10-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Echa un vistazo a este tema, creo que es lo que estás buscando.
Responder Con Cita
  #11  
Antiguo 10-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
Gracias por tu tiempo,Casimiro Notevi.Mirare de probarlo durante este fin de semana.
Responder Con Cita
  #12  
Antiguo 12-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
Gracias,Casimiro Notevi.Ha funcionado perfecto.Solo preguntarte otra duda.
Para marcar y desmarcar el CheckBox mediante el MainMenu ¿como se podria hacer?Gracias.
Responder Con Cita
  #13  
Antiguo 12-12-2010
lapidus lapidus is offline
Registrado
NULL
 
Registrado: nov 2010
Posts: 9
Poder: 0
lapidus Va por buen camino
Hola,ya lo he conseguido.He creado en el MainMenu 'Desmarcar Check'
con el siguiente codigo.

Código Delphi [-]
procedure Programa.DesmarcarCheck1Click(Sender: TObject);
begin
if  iniciarconwindowsyocultar.Checked =true  then
begin
    iniciarconwindowsyocultar.Checked := false
end
else
begin
 if   iniciarconwindowsyocultar.Checked = false then
 begin
   iniciarconwindowsyocultar.Checked := true;
end;
end;
end;

Este codigo esta puesto en evento OnClick del 'Desmarcar Check' asociado a la tecla F5.
Gracias por tu ayuda Casimiro Notevi.
Responder Con Cita
  #14  
Antiguo 12-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Todo ese código creo que lo mismo puedes reducirlo a esto:

Código Delphi [-]
procedure Programa.DesmarcarCheck1Click(Sender:TObject);
begin
  iniciarconwindowsyocultar.Checked := not iniciarconwindowsyocultar.Checked;
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Se puede recuperar registros eliminados en firebird ???? AGAG4 Firebird e Interbase 16 04-04-2010 21:26:01
Como muestro o oculto items? NovatoEnObjetos OOP 2 14-09-2007 12:26:31
como la oculto mi aplicacion del Alt+TAB? JuanErasmo API de Windows 1 18-04-2006 06:55:26
¿ Cómo se puede enviar un form a otro dispositivo de imagen o monitor ? dannytec Varios 3 09-04-2006 11:35:32
Hide Column en un TListView DJ VMan OOP 0 05-12-2003 13:40:57


La franja horaria es GMT +2. Ahora son las 02:31:24.


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
Copyright 1996-2007 Club Delphi