Verdammt! Das passiert mir immer wieder bei solchen Sachen. Aber das Schlimme ist, ich vergesse jedesmal wieder woran es liegt.

Was ich sagen wollte: Das wars, jetzt geht es.
Korrigierter Code:
Delphi-Quellcode:
type
PROCESSOR_POWER_INFORMATION = packed record
Number: Cardinal;
MaxMhz: Cardinal;
CurrentMhz: Cardinal;
MhzLimit: Cardinal;
MaxIdleState: Cardinal;
CurrentIdleState: Cardinal;
end;
PPROCESSOR_POWER_INFORMATION = ^PROCESSOR_POWER_INFORMATION;
function CallNtPowerInformation(InformationLevel: DWORD; InPutBuffer: Pointer; InputBufferSize: ULONG; OutPutBuffer:
Pointer; OutPutBufferSize: ULONG): DWORD; stdcall; external 'PowrProf.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
ppi: PROCESSOR_POWER_INFORMATION;
err: DWORD;
begin
ZeroMemory(@ppi, sizeof(PROCESSOR_POWER_INFORMATION));
err := CallNTPowerInformation(11, nil, 0, @ppi, sizeof(PROCESSOR_POWER_INFORMATION));
if err = 0 then
ShowMessage(IntToStr(ppi.CurrentMhz))
else
ShowMessage(SysErrorMessage(err));
end;