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 14-08-2008
Estuardo18 Estuardo18 is offline
Registrado
 
Registrado: abr 2008
Ubicación: Guatemala(Centroamerica)
Posts: 8
Poder: 0
Estuardo18 Va por buen camino
Smile Como Agregar Una Aplicacion Al INIcio de sesion de Windows

Mi pregunta es como Agregar una aplicacion para q se ejecute cuando inicie sesion windows.

Si son tan amables porfavor responder mi pregunta
Responder Con Cita
  #2  
Antiguo 14-08-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Mira este... quiza te sirva, y porfavor recuerda usar la busqueda, asi sea en Google
__________________
Web
Responder Con Cita
  #3  
Antiguo 14-08-2008
Estuardo18 Estuardo18 is offline
Registrado
 
Registrado: abr 2008
Ubicación: Guatemala(Centroamerica)
Posts: 8
Poder: 0
Estuardo18 Va por buen camino
Gracias

Cita:
Empezado por felipe88 Ver Mensaje
Mira este... quiza te sirva, y porfavor recuerda usar la busqueda, asi sea en Google
Creo q esa es la respuesta y gracias por la sugerencia jejejeje
Responder Con Cita
  #4  
Antiguo 29-11-2009
Estuardo18 Estuardo18 is offline
Registrado
 
Registrado: abr 2008
Ubicación: Guatemala(Centroamerica)
Posts: 8
Poder: 0
Estuardo18 Va por buen camino
Red face

la pagina ha caido me gustaria que me diras el codigo o alguna pagina alterna gracias
Responder Con Cita
  #5  
Antiguo 30-11-2009
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Tomado de trucomania:

Cita:
Labgalia ha encapsulado las tres funciones en un componente no visible, para mayor comodidad.
El componente se puede usar, una vez instalado, simplemente soltándolo en tu form, o bien, puedes utilizarlo sin instalarlo, simplemente creándolo en runtime tras
añadir su unit en tu linea uses.

Esta es la unit del componente. Copia el texto y la grabas en un fichero llamado BootExec.pas



Código Delphi [-]
unit BootExec;
 
interface 
 
uses 
  Classes,Windows,SysUtils,Registry;
 
type 
  TBootExec = class(TComponent)
 
  Private
     NombreClave : String;
     NombreExec  : String;
     ProximaVez  : Boolean;
     Usuario     : Boolean;
 
  Protected
 
  Public
    constructor Create(AOwner: TComponent); override;
    function AppInReg  : Boolean;
    function AddAppReg : Boolean;
    function DelAppReg : Boolean;
 
  Published
    Property NombrePrograma : string 
             Read NombreClave
             Write NombreClave;
    Property NombreEjecutable : string 
             Read NombreExec
             Write NombreExec;
    Property SoloUnaVez : Boolean
             Read ProximaVez
             Write ProximaVez;
    Property SoloUsuario : Boolean
             Read Usuario
             Write Usuario;
  end; 
 
procedure Register;
 
implementation 
 
{==============================================================================}
constructor TBootExec.Create(AOwner: TComponent);
 
begin 
  Inherited;
  AddAppReg;
end; 
 
{==============================================================================}
function TBootExec.AppInReg : Boolean;
 
var 
  Reg      : TRegistry;
  RegInfo  : TRegDataInfo;
  Clave    : String;
  Valores  : TStringList;
  I        : Integer;
 
begin 
  Result:=False;//No está en el Registro
  Clave:='Software\Microsoft\Windows\CurrentVersion\Run';
  if ProximaVez then Clave := Clave+'Once';
  Reg:=TRegistry.Create;
  if Not(Usuario) then Reg.RootKey := HKEY_LOCAL_MACHINE;
  if Not(Reg.KeyExists(Clave)) Then//comprobar prexistencia de clave
    begin 
       Reg.Free;
       Exit;
    end; 
  Reg.OpenKey(Clave,False);//existe, por tanto podemos abrirla.
  Valores := TStringList.Create;
  Reg.GetValueNames(Valores);//Obtenemos una lista de los Nombres de los valores de la clave
  for I:=0 to (Valores.Count-1) do 
    begin 
      if Reg.GetDataInfo( Valores[i], RegInfo) then 
        begin 
          if (RegInfo.RegData = rdString) then 
            begin 
              if Lowercase(NombreExec)=LowerCase( Reg.ReadString(Valores[i]) ) then 
                begin 
                 Result:=True;
                 Break;
                end; 
            end; 
        end 
       else 
         Valores[i]:='';
    End;//For
  Valores.Free;
  Reg.Free;
end; 
 
{==============================================================================}
function TBootExec.AddAppReg : Boolean;
 
var 
  Reg   : TRegistry;
  Clave : string;
 
begin 
  Result:=False;
  if (NombreClave='') or (NombreExec='') then 
    Exit;
  if AppInReg then 
    Exit;
  Clave:='Software\Microsoft\Windows\CurrentVersion\Run';
  if ProximaVez then Clave := Clave+'Once';
  Reg:=TRegistry.Create;
  if Not(Usuario) then Reg.RootKey := HKEY_LOCAL_MACHINE;
  if Not(Reg.KeyExists(Clave)) then 
    begin 
       Reg.Free;
       Exit;
    end; 
  Reg.OpenKey(Clave,False);
  Reg.WriteString(NombreClave,NombreExec);
  Reg.Free;
  Result:=True;
end; 
 
{==============================================================================}
function TBootExec.DelAppReg : Boolean;
 
var 
  Reg     : TRegistry;
  RegInfo : TRegDataInfo;
  Clave   : string;
  Valores : TStringList;
  I       : integer;
 
begin 
  Result:=False;
  if Not(AppInReg) then 
    Exit;
  if (NombreClave='') or (NombreExec='') then 
    Exit;
  Clave:='Software\Microsoft\Windows\CurrentVersion\Run';
  if ProximaVez then Clave := Clave+'Once';
  Reg:=TRegistry.Create;
  if Not(Usuario) then Reg.RootKey := HKEY_LOCAL_MACHINE;
  if Not(Reg.KeyExists(Clave)) then 
    begin 
       Reg.Free;
       Exit;
    end; 
  Reg.OpenKey(Clave,False);
  Valores := TStringList.Create;
  Reg.GetValueNames(Valores);//Obtenemos una lista de los Nombres de los valores de la clave
  for I:=0 to (Valores.Count-1) do 
    begin 
      if Reg.GetDataInfo( Valores[i], RegInfo) then 
        begin 
          if (RegInfo.RegData = rdString) then 
            begin 
              if Lowercase(NombreExec)=LowerCase( Reg.ReadString(Valores[i]) ) then 
                begin 
                  Reg.DeleteValue( Valores[i] );
                  Result:=True;
                end; 
            end; 
        end; 
    end; 
  Valores.Free;
  Reg.Free;
end; 
 
{==============================================================================}
procedure Register;
 
begin 
  RegisterComponents('LabGalia', [TBootExec]);
end; 
 
{==============================================================================}
END.



Ejemplos de utilización del componente si lo has depositado en tu form:


Saber si existe un programa en esa clave del registro:




Código Delphi [-]
BootExec1.NombreEjecutable:='Notepad.exe';
if BootExec1.AppInReg Them
   ShowMessage('si/yes')
  else 
    ShowMessage('NO');
__________________
Web
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
error al iniciar la aplicacion junto con el inicio de windows tazmania66 Varios 3 12-12-2007 21:44:45
Ejecutar programa al inicio antes inicio sesion hibero Varios 0 07-02-2007 20:52:44
Crear Inicio de Sesion Propio. Jeswon Conexión con bases de datos 8 05-01-2007 08:46:52
Determinar si ya se inició sesión roman PHP 5 26-08-2005 20:09:38
Inicio Sesión De Aplicación jsc Firebird e Interbase 4 27-01-2004 11:49:37


La franja horaria es GMT +2. Ahora son las 16:56:41.


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