Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2012
Drakyto Drakyto is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
Drakyto Va por buen camino
Talking Ejecutar programa al inicio de Windows 7

Estimados amigos del foro, a tiempo de saludarles muy cordialmente, quiero realizar una consulta; tengo una aplicación desarrollada en Delphi (obviamente) y lo que quiero es que la misma se ejecute cuando se inicie el sistema, en este caso, es Windows 7. ¿Cómo puedo hacerlo dentro el código de la aplicación?
Gracias de antemano.
Drakyto
Responder Con Cita
  #2  
Antiguo 26-07-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, no puedes hacerlo dentro del código de la aplicación puesto que la aplicación aún no corre, ¿no crees?

Para que tu aplicación corra desde el inicio puedes poner una entrada en el registro de windows, por ejemplo, en

Código:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Ahí pones una llave cuyo valor sea la ruta completa a tu ejecutable.

// Saludos
Responder Con Cita
  #3  
Antiguo 26-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Drakyto.

Proba de este modo:
Código Delphi [-]
...
implementation

uses Registry;

const
  CVALUE = 'MiAplicacion';

procedure AutoRun(Execute: Boolean);
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_LOCAL_MACHINE;
    if Execute then
    begin
      OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True);
      WriteString(CVALUE, ExtractFilePath(Application.ExeName) +
          ExtractFileName(Application.ExeName))
    end
    else
    begin
      OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', False);
      DeleteValue(CVALUE);
    end;
  finally
    CloseKey;
    Free;
  end;
end;

Llamada ejemplo:
Código Delphi [-]
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  AutoRun(CheckBox1.Checked);
end;

Saludos.

Edito: No había visto la respuesta de roman, pero creo que es la misma idea.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-07-2012 a las 22:55:56.
Responder Con Cita
  #4  
Antiguo 27-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Casí lo olvido... Para no dejar las cosas a la mitad, al ejemplo, abría que agregarle:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_LOCAL_MACHINE;
    if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', False) then
      CheckBox1.Checked:= ValueExists(CVALUE)
  finally
    Free;
  end;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 27-07-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola ecfisa,

Donde dice

Código Delphi [-]
WriteString(CVALUE, ExtractFilePath(Application.ExeName) + ExtractFileName(Application.ExeName))

¿no bastaría con poner esto?

Código Delphi [-]
WriteString(CVALUE, Application.ExeName)

// Saludos
Responder Con Cita
  #6  
Antiguo 27-07-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
¿no bastaría con poner esto?
Hola roman.

Si, tiene el mismo resultado.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
mensaje no se cierra cuando inicio un programa granodetoro Varios 5 07-04-2011 21:24:49
Parametros al inicio de programa sisgeorge C++ Builder 6 24-06-2008 19:13:07
hacer que un programa se ejecute al inicio de windows yack99281588 Windows 1 27-10-2007 19:19:46
Ejecutar programa al inicio antes inicio sesion hibero Varios 0 07-02-2007 20:52:44
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36


La franja horaria es GMT +2. Ahora son las 03:55:02.


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