Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

Re: Windows 7 Prozessorauslastung auslesen / Lautstärke rege

  Alt 15. Jan 2010, 19:34
Zitat von Kapitan Bomba:
Meine Frage ist nur : Geht es in Windows 7 oder nicht, wenn ja, wie.
Das versuchen wir ja gerade rauszubekommen.

Delphi-Quellcode:
function GetCPUUsage: Integer;
var
  spi : SYSTEM_PERFORMANCE_INFORMATION;
  sti : SYSTEM_TIME_INFORMATION;
  sbi : SYSTEM_BASIC_INFORMATION;
  ret: DWORD;
begin
  result := 0;
  if (NTQuerySystemInformation(SYS_BASIC_INFO, @sbi, sizeof(SYSTEM_BASIC_INFORMATION), 0) = NO_ERROR) then
  begin
    if (NTQuerySystemInformation(SYS_TIME_INFO, @sti, sizeof(SYSTEM_TIME_INFORMATION), 0) = NO_ERROR) then
    ret := (NTQuerySystemInformation(SYS_PERFORMANCE_INFO, @spi, sizeof(SYSTEM_PERFORMANCE_INFORMATION), 0)
    if ret = NO_ERROR) then
    begin
      if (nOldIdleTime <> 0) then
      begin
        nNewCPUTime:= trunc(100-((spi.nIdleTime-nOldIdleTime)/(sti.nKeSystemTime-nOldSystemTime)*100)/sbi.bKeNumberProcessors+0.5);
        if (nNewCPUTime <> nOldIdleTime) then
        begin
          Result := nNewCPUTIME;
        end;
      end;
      nOldIdleTime := spi.nIdleTime;
      nOldSystemTime := sti.nKeSystemTime;
    end
    else
      ShowMessage(IntToStr(ret));
  end;
end;
Mal so ohne zu testen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat