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