Desculpe a intromissão, mas a chave ProductName existe sim no Windows 7. O
problema deve ser outro.

A função abaixo foi testada no Windows 7 e funcionou normalmente.

 

function NomeProduto: String;

var

registro_aux: TRegistry;

begin

registro_aux := TRegistry.Create;

Result := '';

try

registro_aux.RootKey := HKEY_LOCAL_MACHINE;

if (registro_aux.OpenKey ('\SOFTWARE\Microsoft\Windows NT\CurrentVersion',
False)) then

begin

Result := registro_aux.ReadString ('ProductName');

registro_aux.CloseKey;

end;

finally

registro_aux.Free;

end;

end;

 

Abraços

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de EmbarcaDelphi
Enviada em: quinta-feira, 21 de janeiro de 2010 10:03
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Erro Leitura Registro Windows 7

 

  

Francamente heim!!! :(

Como você posta uma pergunta dessa sem primeiro ir lá no regedit 
verificar se esta chave existe ou não?
ProductName não existe no Windows 7

Em 20/01/2010 15:47, rcesa...@ymail.com <mailto:rcesar22%40ymail.com>
escreveu:
>
> Prezados,
>
> Tenho um aplicação que lê algumas informações do registro do Windows. 
> No Windows XP ela funciona sem problemas, mas no Windows 7 a leitura 
> das mesmas chaves não traz valor nenhum e também não dá erro.
>
> Uma das funções de leitura é a seguinte:
>
> function NomeProduto: String;
>
> var
> registro_aux: TRegistry;
>
> begin
> registro_aux := TRegistry.Create;
> Result := '';
>
> try
> registro_aux.RootKey := HKEY_LOCAL_MACHINE;
>
> if (registro_aux.OpenKey ('\SOFTWARE\Microsoft\Windows 
> NT\CurrentVersion', False)) then
> begin
> Result := registro_aux.ReadString ('ProductName');
> registro_aux.CloseKey;
> end;
>
> finally
> registro_aux.Free;
> end;
>
> end;
>
> Será que alguém poderia me dizer o que fazer pra essa função retornar 
> o valor da chave no Windows 7?
>
> Obrigado.
>

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]

Responder a