Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#74

Re: Großer Aufruf an alle die eine CPU besitzen

  Alt 15. Okt 2004, 13: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.
  Mit Zitat antworten Zitat