Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
Re: Großer Aufruf an alle die eine CPU besitzen
15. Okt 2004, 14:23
Zitat von Muetze1:
Moin!
Bei mir genauso P15 anstatt P4. Luckie: auch wenn der Beitrag wirklich alt ist, so kann ich dich mit Informationen zur Erkennung der CPUs unterstützen und dir damit vielleicht die Sache etwas leichter machen. Selbst eigenen Code kann ich anbieten...
MfG
Muetze1
Wie gesagt, es interessiert mich eigentlich nicht mehr so brennend. Aber wenn du was hättest, dann würde ich es mir zu mindest mal ankucken.
Ich weiß nicht, wie ich es in der version mache, die hier noch kursiert. Aber ich lese die Werte mittlerweile aus der Registry aus:
Delphi-Quellcode:
function GetCPUFromReg: string;
const
szNameString: array[1..3] of string =
('ProcessorNameString', 'Identifier', 'VendorIdentifier');
var
hReg: HKEY;
cbData,
lpType: DWORD;
i: integer;
begin
Result := '';
lpType := REG_SZ;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, CPUREGPATH, 0, KEY_READ, hReg) =
ERROR_SUCCESS) then
try
for i := 1 to length(szNameString) do
if (RegQueryValueEx(hReg, pchar(szNameString[i]), nil, @lpType,
nil, @cbData) = ERROR_SUCCESS) and (cbData > 0) then
begin
SetLength(Result, cbData);
if (RegQueryValueEx(hReg, pchar(szNameString[i]), nil, @lpType,
@Result[1], @cbData) = ERROR_SUCCESS) then
begin
SetLength(Result, cbData - 1);
break;
end
else
Result := '';
end;
finally
RegCloseKey(hReg);
end;
end;
function GetCPUSpeedFromReg: DWORD;
var
hReg: HKEY;
cbData,
lpType: DWORD;
begin
result := 0;
lpType := REG_DWORD;
if RegOpenKeyEx(HKEY_LOCAL_MACHINE, CPUREGPATH, 0, KEY_READ, hReg) =
ERROR_SUCCESS then
try
if (RegQueryValueEx(hReg, '~MHz', nil, @lpType, nil,
@cbData) = ERROR_SUCCESS) and (cbData > 0) then
begin
RegQueryValueEx(hReg, '~MHz', nil, nil, @result, @cbData);
end;
finally
RegCloseKey(hReg);
end;
end;
Download: http://www.luckie-online.de/Delphi/S...es/CPUInfo.zip
Michael Ein Teil meines Codes würde euch verunsichern.
|