Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   leer una veriable del Regedit de windows con Delphi (https://www.clubdelphi.com/foros/showthread.php?t=35892)

afarenas 25-09-2006 22:18:33

leer una veriable del Regedit de windows con Delphi
 
compañeros:
Necesito leer una variable del regedit de windows, alguien
me podria indicar como hacer esto en Delphi.
Gracias.

roman 25-09-2006 22:22:50

Usa la clase TRegEdit. Para más información busca en la ayuda de Delphi o en estos mismos foros.

// Saludos

jachguate 25-09-2006 23:00:17

Hola. Supongo que roman se refiere a la clase TRegistry. ¿cierto?

Saludos :p

roman 25-09-2006 23:01:45

Muy cierto :o

// Saludos

afarenas 26-09-2006 01:07:38

no me funciona
 
Estuve tratando con esa clase pero no pude hacerla funcionar, no se como
mire el ejemplo que trae la ayuda de delphi y tampoco me funcionó,
podria alguno colaborarme con algun ejemplo?

jachguate 26-09-2006 01:36:45

Allí te va:

Código Delphi [-]
uses registry;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  try
    if reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU', False) then
      ShowMessage('El último comando ejecutar de este usuario fue: ' + reg.ReadString('a'));
  finally
    reg.Free;
  end;
end;

Hasta luego.

;)

seoane 26-09-2006 01:47:36

Yo solo añadiria dos cosas:

Código Delphi [-]
 with TRegistry.Create do
  try
    RootKey:= HKEY_CURRENT_USER; // <-- La clave root
    if OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU',FALSE) then
    begin
      ShowMessage('El último comando ejecutar de este usuario fue: ' + ReadString('a'));
      CloseKey; // Y cerrar al salir, solo por educacion jejeje
    end;
  finally
    Free;
  end;

La verdad es que en el caso anterior se podía omitir la Rootkey ya que por defecto es HKEY_CURRENT_USER pero por si es otra diferente ahí queda el dato.

jachguate 26-09-2006 01:53:37

Cita:

Empezado por seoane
La verdad es que en el caso anterior se podía omitir la Rootkey ya que por defecto es HKEY_CURRENT_USER pero por si es otra diferente ahí queda el dato.

Efectivamente, la raiz por defecto es HKCU, por eso la omití. Tené por seguro que al destruir el objeto, la llave también se cerrará... Te dejo la implementación actual del destructor de la clase TRegistry:

Código Delphi [-]
destructor TRegistry.Destroy;
begin
  CloseKey;
  inherited;
end;

Hasta luego.

;)

seoane 26-09-2006 02:01:30

Cita:

Empezado por jachguate
Tené por seguro que al destruir el objeto, la llave también se cerrará

Por supuesto, por eso puse el comentario, mas o menos gracioso (veo que no tanto :o ), para dar a entender que en este caso tampoco era necesario usar CloseKey. La intención de puntualizar lo del Rootkey y Closekey es que al usar "copiar y pegar" no se este olvidando algo importante, en ningún caso corregirte. Imagínate que quiere leer una clave fuera de HKEY_CURRENT_USER o varias claves diferentes, en ese caso ya no daría igual.


La franja horaria es GMT +2. Ahora son las 05:23:46.

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