How can I show the value of a DWORD

when u go into registry and right click a reg dword file and choose modify i can see the value data, how do check that info using delphi to say if for example DWORD value is 1 it will come back and say yes  and if it is 0 it will no when the user presses a button on my delphi application?
SonicM3Asked:
Who is Participating?
 
FactorBConnect With a Mentor Commented:
Sorry typo polices instead of policies and I should use integer for DWord

procedure TForm1.Button1Click(Sender: TObject);
var
reg:tregistry;
begin
reg:=Tregistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\',false);
if reg.ValueExists('EnableLUA') then begin
if reg.ReadInteger ('EnableLUA')=1 then Button1.Caption:='Yes';
if reg.ReadInteger ('EnableLUA')=0 then Button1.Caption:='No';
end;
finally
reg.Free;
end;
end;
0
 
FactorBCommented:
Something like this

Uses
Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
reg:tregistry;
begin
reg:=Tregistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\',false);
if reg.ValueExists('Some_Value') then begin
if reg.ReadString ('Some_Value')='1' then Button1.Caption:='Yes';
if reg.ReadString ('Some_Value')='0' then Button1.Caption:='No';
end;
finally
reg.Free;
end;
0
 
FactorBCommented:
Shortage of ends:) put above one more ... end;
0
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

 
SonicM3Author Commented:
ah thanks man, i am so close can you just finish this off.

i want to go to ... currentversion/polices/system/enablelua   and show if 1 is on that yeh admin rights limited access and if its 0 the admin rights have full access
just nearly got it sorted.
how do i edit the code to do this?

0
 
SonicM3Author Commented:
edit:

just to confirm this is a dword and here is the location and valves.

test5.jpg
0
 
FactorBCommented:
Uses
Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
reg:tregistry;
begin
reg:=Tregistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\polices\system\',false);
if reg.ValueExists('enablelua') then begin
if reg.ReadString ('enablelua')='1' then Button1.Caption:='Yes';
if reg.ReadString ('enablelua')='0' then Button1.Caption:='No';
end;
finally
reg.Free;
end;
end;
0
 
SonicM3Author Commented:
This works fine for strings but does not seem to work for DWORD.
0
 
SonicM3Author Commented:
well done mate, top marks!  
I will award you points for that but can i ask a quick question.

at the moment i can read fine and i am an admin on limted access basically with lua on, how can i change the 1 to a 0 to turn lua off and give me fulll access.
Like i say point rewarded anyways for the other answer excellent!
0
 
FactorBCommented:
You are more than welcome to ask, add

reg.WriteInteger('EnableLUA',0);

to the code

procedure TForm1.Button1Click(Sender: TObject);
var
reg:tregistry;
begin
reg:=Tregistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\',false);
if reg.ValueExists('EnableLUA') then begin
reg.WriteInteger('EnableLUA',0);
if reg.ReadInteger ('EnableLUA')=1 then Button1.Caption:='Yes';
if reg.ReadInteger ('EnableLUA')=0 then Button1.Caption:='No';
end;
finally
reg.Free;
end;
end;

Regards,
B.
0
 
SonicM3Author Commented:
super!  I will add this after lunch.
thanks again
0
 
SonicM3Author Commented:
can you help me figure out why the things dont show?
like.. when i select the button it shows label1 but nothing else, when im logged in as (1) and when im logged in as (0) nothing works..

its like,none of the commands work for the options switch.


procedure TForm1.Button1Click(Sender: TObject);

  var
reg:tregistry;
begin
reg:=Tregistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\',false);
if reg.ValueExists('EnableLUA') then begin
if reg.ReadInteger ('EnableLUA')=0
then
label1.show;
button2.show;
button3.show;


if reg.ReadInteger ('EnableLUA')=1 then
 label2.Show;
 button4.show;
 button5.show;

     end;
finally
reg.Free;
end;
end;
0
 
FactorBCommented:
Try this:

procedure TForm1.Button1Click(Sender: TObject);

var
reg:tregistry;
begin
reg:=Tregistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\',false);
if reg.ValueExists('EnableLUA') then begin
 if reg.ReadInteger ('EnableLUA')=0 then begin
  label1.visible:=true;
  button2.visible:=true;
  button3.visible:=true;
 end;
 if reg.ReadInteger ('EnableLUA')=1 then begin
  label2.visible:=true;
  button4.visible:=true;
  button5.visible:=true;
 end;
end;
finally
reg.Free;
end;
end;
0
 
SonicM3Author Commented:
ur the man!
cheers mate, i just really want to thank you for your help with this stuff. Thankyou so much. If i need another Q, ill make a new topic and give ya more points mate.

cheers
0
 
FactorBCommented:
Don't worry I am glad that your code is working.
Just...keep typing. :)

Have a good day,
B.
0
All Courses

From novice to tech pro — start learning today.