Fórum problema ao manipular registro no windows 7 64 #405343
20/07/2011
0
procedure TF_Inicial.RunOnStartup(sProgTitle, sCmdLine: string; bRunOnce: boolean);
var
MyReg : TRegistry;
begin
try
MyReg := TRegistry.Create;
MyReg.RootKey := HKEY_LOCAL_MACHINE;
MyReg.Openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',False);
MyReg.WriteString(sProgTitle, sCmdLine);
MyReg.CloseKey;
finally
MyReg.Free;
end;
end; chamada da função : RunOnStartup('ElisoftServ',Application.ExeName, True); depois é retornado o seguite erro : Failed to set data for 'ElisoftServ' se executo como administrador , ele não mostra este erro , mas também não adiciona o registro. alguém tem alguma ideia ?
Elixandre Américo
Curtir tópico
+ 0Posts
20/07/2011
Elixandre Américo
registro q informo
SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
ele cria em :
Wow6432Node\Microsoft\Windows\CurrentVersion\Run
mas na leitura ñ consigo puxar os valores
estou usando assim :
procedure TF_Inicial.RunOnStartup(sProgTitle, sCmdLine: string; bRunOnce: boolean);
var
MyReg : TRegistry;
begin
try
MyReg := TRegistry.Create;
MyReg.RootKey := HKEY_LOCAL_MACHINE;
MyReg.Openkey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',False);
//nesta parte nunca achar o valor ...
if MyReg.ReadString(sProgTitle)='' then
begin
MyReg.WriteString(sProgTitle, sCmdLine);
end;
MyReg.CloseKey;
finally
MyReg.Free;
end;
end;
já tentei trocar para
MyReg.Openkey('Wow6432Node\Microsoft\Windows\CurrentVersion\Run',False);
mas também não fuciona ....
MyReg.ReadString(sProgTitle) sempre traz "", mesmo tendo valor no registro ...
que no meu caso tem o seguinte valor:
D:\Desenvolvimento\Projetos\Sistema\Source\Server\Debug\Win32\ServerFin.exe
Gostei + 0
20/07/2011
Elixandre Américo
registro q informo
SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
ele cria em :
Wow6432Node\Microsoft\Windows\CurrentVersion\Run
mas na leitura ñ consigo puxar os valores
estou usando assim :
procedure TF_Inicial.RunOnStartup(sProgTitle, sCmdLine: string; bRunOnce: boolean);
var
MyReg : TRegistry;
begin
try
MyReg := TRegistry.Create;
MyReg.RootKey := HKEY_LOCAL_MACHINE;
MyReg.Openkey('SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN',False);
//nesta parte nunca achar o valor ...
if MyReg.ReadString(sProgTitle)='' then
begin
MyReg.WriteString(sProgTitle, sCmdLine);
end;
MyReg.CloseKey;
finally
MyReg.Free;
end;
end;
já tentei trocar para
MyReg.Openkey('Wow6432Node\Microsoft\Windows\CurrentVersion\Run',False);
mas também não fuciona ....
MyReg.ReadString(sProgTitle) sempre traz "", mesmo tendo valor no registro ...
que no meu caso tem o seguinte valor:
D:\Desenvolvimento\Projetos\Sistema\Source\Server\Debug\Win32\ServerFin.exe
Gostei + 0
09/05/2013
José
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)