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]