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 30-07-2010
Drakyto Drakyto is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
Drakyto Va por buen camino
Cargar aplicación al inicio de Windows

Espero este hilo esté ubicado en el lugar correcto.

Quisiera saber si hay alguna manera fácil de cargar mi aplicación en Delphi cuando se inicia windows.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 30-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo mas facil es colocar un acceso directo al exe en el directorio de inicio de windows.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 30-07-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
http://www.clubdelphi.com/foros/show...86&postcount=2


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 31-07-2010
Avatar de bosster_018
bosster_018 bosster_018 is offline
Miembro
 
Registrado: nov 2009
Ubicación: Bolivia
Posts: 127
Poder: 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
  #5  
Antiguo 31-07-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Honestamente, creo que la mejor manera es también la más básica, que es poner un acceso directo en Menú Inicio > Inicio del usuario.

Esto es por tres cosas.

1) El usuario sabe qué se está corriendo al inicio.
2) Es fácil de borrar.
3) No te metés con el registry, cosa que puede ser peligrosa si uno no tiene cuidado.

Es uno opinión, nada más.


Código Delphi [-]
uses ShlObj, ComObj, ActiveX;

function RutaCarpetaEspecial(Carpeta: Cardinal): string;
var path: array [0..MAX_PATH] of char;
begin
  ShGetSpecialFolderPath(0,@path[0],Carpeta,false(*true crea la carpeta *)) ;
  Result:= path;
end;


//Sacado de Trucomanía: www.trucomania.org/trucomania
procedure CreaLnk(Exe, Argumentos, DirTrabajo, NombreLnk, DirDestino: string);
var Objeto: IUnknown;
    UnSlink: IShellLink;
    FicheroP: IPersistFile;
    WFichero: WideString;
begin
  Objeto := CreateComObject(CLSID_ShellLink);
  UnSlink := Objeto as IShellLink;
  FicheroP := Objeto as IPersistFile;
  with UnSlink do
    begin
    SetArguments( PChar(Argumentos) );
    SetPath( PChar(Exe) );
    SetWorkingDirectory( PChar(DirTrabajo) );
    end;
  WFichero := DirDestino + '\' + NombreLnk + '.lnk';
  FicheroP.Save(PWChar(WFichero),False);
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  CreaLnk( Application.ExeName,
           '',
           ExtractFilePath(Application.ExeName),
           'Mi programa',
           RutaCarpetaEspecial(CSIDL_STARTUP));
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
Evitar el logotipo de inicio de Windows XP Diana Windows 1 08-01-2010 21:03:29
Como Agregar Una Aplicacion Al INIcio de sesion de Windows Estuardo18 API de Windows 4 30-11-2009 02:43:49
Mensaje Inicio Sesion windows XP cacu Windows 3 19-02-2009 16:57:31
error al iniciar la aplicacion junto con el inicio de windows tazmania66 Varios 3 12-12-2007 21:44:45
Sustituir el Menú de Inicio de Windows Jonnathan API de Windows 8 23-01-2006 19:48:38


La franja horaria es GMT +2. Ahora son las 03:10:34.


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