evandromarson Postado Setembro 3, 2009 Denunciar Share Postado Setembro 3, 2009 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\CompositionCom 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'))thensDtLayoutUB := reg.ReadString('', 'Teste', '') ;Com DWord não consegui encontrar uma função:já tentei com :varreg : TRegIniFile;Buffer: DWord;ReadBinaryData('\Composition\',Buffer,SizeOf(Buffer))alguém pode me ajudar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 3, 2009 Denunciar Share Postado Setembro 3, 2009 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
evandromarson
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
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.