S.a arkadaşlar, Regeditten sistem bios tarihi çekmek için aşağıdaki kod blogunu kullanıyorum ancak if R.ValueExists('SystemBiosDate') then satırında SystemBiosDate i bulamıyoru ve true dönmüyor. Baktım regedite var ancak bulamıyo, Eksik yada yanlışım nerdedir sizce?
var
R:TRegistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey('Hardware\Description\System',false);
if R.ValueExists('SystemBiosDate') then
begin
ShowMessage(DateToStr(R.ReadDate('SystemBiosDate')));
end;
R.CloseKey;
R.free;
eğer windows 7 işletim sistemi kullanıyorsanız programı yönetici modunda çalıştırın.
benim kullandığım kod aşağıda tek farkı bu satır Reg.OpenKey('\Hardware\Description\System\', True);
var
Biosdate,yyil:String
begin
// Biosdate
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('\Hardware\Description\System\', True);
if StrToInt(Copy(Reg.ReadString('SystemBiosdate'),7,2)) < 90 then
yyil:='20' else yyil:='19';
Biosdate:=Copy(Reg.ReadString('SystemBiosdate'),1,6)+ yyil + Copy(Reg.ReadString('SystemBiosdate'),7,2) ;
except
Biosdate:='Unknown';
end;
eğer windows 7 işletim sistemi kullanıyorsanız programı yönetici modunda çalıştırın.
benim kullandığım kod aşağıda tek farkı bu satır Reg.OpenKey('\Hardware\Description\System\', True);
Çok teşekkür ederim, Vista kullanıyorum ve yönetici olarak çalıştırmak aklıma gelmemişti, daha dogrusu bundan kaynaklanabilecegi aklıma gelmiyordu çünkü regedite yazma işlemini yönetici olarak çalıştırmadan yapabiliyo, ancak okumaya gelince sorun çıkarıyomuş böyle, ki benim okudugum başka degerlerde var ama onlarda da istemiyor yönetici olarak çalıştırmayı. bunun istemesi systembios falan olması mı ki acaba..