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?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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
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
Become a CompTIA Certified Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

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
FactorBCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.