Ir para conteúdo
Fórum Script Brasil
  • 0

RegEdit do Delphi


evandromarson

Pergunta

Preciso verificar o valor de um registro do windows vista no RegEdit, o registro é um DWord (0x00000001 (1)).

Caminho do RegEdit: \Software\Microsoft\Windows\DWM\Composition

Com o Registro do tipo string funcionou com essa função abaixo:

Var reg : TRegIniFile;

reg := TRegIniFile.Create(inttostr(0));

reg.RootKey := HKEY_CURRENT_USER;

reg.OpenKey('\Software\Microsoft\Windows\DWM', false);

if (reg.KeyExists('\Software\Microsoft\Windows\DWM'))then

sDtLayoutUB := reg.ReadString('', 'Teste', '') ;

Com DWord não consegui encontrar uma função:

já tentei com :

var

reg : TRegIniFile;

Buffer: DWord;

ReadBinaryData('\Composition\',Buffer,SizeOf(Buffer))

alguém pode me ajudar

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Com DWord não consegui encontrar uma função:

use Registry; 


//Funcao para ler um valor Dword: 

function ReadDWORD(vKey, vName: String): DWORD; 
var 
  iType: DWORD; 
  iSize: DWORD; 
  iResult: Array [0..3] of Byte; 
  hkResult: HKEY; 
begin 
  Result:=0; 
  iType:=REG_DWORD; 
  iSize:=4; 
  if RegOpenKeyEx(HKEY_LOCAL_MACHINE,LPTSTR(vKey), 0, KEY_READ, hkResult)<>ERROR_SUCCESS then 
    Exit; 
  if RegQueryValueEx(hkResult,LPTSTR(vName),Nil,@iType,@iResult,@iSize)=ERROR_SUCCESS then 
    begin 
      Result:=iResult[0]+(iResult[1] SHL 8)+(iResult[2] SHL 16)+(iResult[3] SHL 24); 
    end; 
end; 


//Funcao para escrever um valor DWord: 

function WriteDWORD(vKey, vName: String; iValue: DWORD): Boolean; 
var 
  iType: DWORD; 
  iSize: DWORD; 
  hkResult: HKEY; 
  ibValue: Array [0..3] of Byte; 
begin 
  Result:=False; 
  if RegOpenKeyEx(HKEY_LOCAL_MACHINE,LPTSTR(vKey), 0, KEY_WRITE, hkResult)<>ERROR_SUCCESS then 
    Exit; 
  iType:=REG_DWORD; 
  iSize:=4; 
  ibValue[0]:=(iValue AND $000000FF); 
  ibValue[1]:=(iValue AND $0000FF00) SHR 8; 
  ibValue[2]:=(iValue AND $00FF0000) SHR 16; 
  ibValue[3]:=(iValue AND $FF000000) SHR 24; 
  if RegSetValueEx(hkResult,LPTSTR(vName),0,iType,@ibValue[0],iSize)=ERROR_SUCCESS then 
    Result:=True; 
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...