Ver Mensaje Individual
  #4  
Antiguo 31-07-2010
Avatar de bosster_018
bosster_018 bosster_018 is offline
Miembro
 
Registrado: nov 2009
Ubicación: Bolivia
Posts: 127
Reputación: 15
bosster_018 Va por buen camino
Wink Esta pregunta ha sido contestada varias veces

Concuerdo con lo que te dijo Delphi.com.ar y para aumentar un poco la respuesta... Puedes anotar tu programa en el inicio del registro de Windows XP (ojo: sólo Windows XP, debes averiguar en Windows Vista y 7)

Aquí tengo un pequeño ejemplo que lo vi hace tiempo en el clubDelphi y que lo tengo guardado en mi carpetita de "Ejemplos Delphi" (uno puede necesitar estos ejemplos algún día )

Cita:
Primero coloca un CheckBox en tu formulario, luego crea un procedimiento para escribir en el registro de Windows Xp.
Luego agrega "Registry" en las Uses de la unidad
Código Delphi [-]
Uses
   Registry;

Y escribes el código

Código Delphi [-]
//Lee y escribe en el Registro de Windows Xp
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(Nombre, ParamStr(0));
      0: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run\',FALSE) then
            Registro.DeleteValue(Nombre);
    end;
    Registro.Destroy;
end;

Cita:
Después en el CheckBox realizas la llamada al procedimiento:
Código Delphi [-]
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked then
    Regedit(1, 'NombrePrograma')
  else
    Regedit(0, 'NombrePrograma');
end;
Cita:
Donde el valor de "1" sirve para escribir en el registro el autoinicio de tu programa al encender Windows Xp.
Y el valor "0" borra el registro añadido por el programa (desactiva)
Cita:
Si quieres hacer un programa donde el Usuario controle el autoinicio de tu programa (active y desactive) puedes agregar otro procedimiento para que el programa (checkBox) "averigüe" si ya está escrito el autoinicio en el Registro de Windows Xp.

Con este procedimiento hará que tu checkBox esté marcado si ya existe el registro, si no el checkBox estará desmarcado:
Código Delphi [-]
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(nombre)= true then
      CheckBox1.Checked:= true
    else
      CheckBox1.Checked:= false;

  Registro.Destroy;
end;

Cita:
Y en el FormCreate haces la llamada al procedimiento:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  AveriguarInicio('NombrePrograma');
end;

Creo que me salió muy larga mi respuesta
¡Seguro que nadie lo leerá!

Saludos!
Responder Con Cita