Link to home
Start Free TrialLog in
Avatar of goodday
goodday

asked on

CPU usage

Hi,

Taskmanager displays the usage percentage of the CPUs. How can I get the same info from my code?

Regards, GD
Avatar of gmayo
gmayo
Flag of United Kingdom of Great Britain and Northern Ireland image

Have a look at the component on this page at the top: http://www.torry.net/systeminfo.htm

Geoff M.
ASKER CERTIFIED SOLUTION
Avatar of 13_th
13_th

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Shinez
Shinez

This will sort your problem :)

type
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);

  public
    s1,s2:int64;

implementation

{$R *.dfm}
type
  TProcessorTimeInfo = record
    IdleTime: int64;
    KernelTime: int64;
    UserTime: int64;
    DpcTime: int64;
    InterruptTime:int64;
    InterruptCount:cardinal;
  end;

function NtQuerySystemInformation(si_class: cardinal; si: pointer; si_length: cardinal; ret_length:cardinal):cardinal; stdcall; external 'ntdll.dll';

procedure TForm1.Timer1Timer(Sender: TObject);
var
  buf:array[0..299999] of char;
  //pi: ^TProcessInfo;
  ti: ^TProcessorTimeInfo;
  i:integer;
begin
timer1.Interval:=1000;
  NtQuerySystemInformation(8, @buf, 300000, 0);

  ti:=@buf;
  s2:=ti^.KernelTime+ti^.UserTime{+ti^.DpcTime+ti^.InterruptTime}-ti^.IdleTime;
 
  i:=round((s2-s1)/100000);
  s1:=s2;
  StatusBar1.Panels[0].Text:='CPU: '+inttostr(i)+'%';
end;

TO Shinez

not STEAL!

*** off topic comment removed by Netminder, EE Admin ***
TO Shinez


brought by you code from my example.
this example is not in knowledge.
he is written by me
*** off topic comment removed by Netminder, EE Admin ***
TO Shinez

using someone else work indicate this.

copyrights did not canceal
*** off topic comment removed by Netminder, EE Admin ***
To talk to cretins, to not respect myself . Conversation is finished.
kool :)
Avatar of goodday

ASKER

13_th

I appreciate your trying to help.

I think any work done by a programmer that creates value is worth for money. It is a very unselfish and generous act to share some results of your own creativity with other people.
 
No one should judge you, or tell a singe bad thing about you for NOT sharing the result of your own work, but you really have to understand, that once you share it, you donate it to everybody else. It becomes public property. If you do not limit how it can be used and copied then everyone is allowed to use it for any purpose, and use it, as his own code. Even share it with other people.

ALL RESPECTS will always belong to you for being able to create, and for sharing your code. But most people will probably never say thank you to you, because they will never know the original creator.

I think you also have to understand, that at Experts-Exchange the person who first provides the information is prized by points, not the original source. This place is about information sharing. The one who does it faster and better takes the prize.

I personally highly appreciate everyone who is willing and able to help, and I try to give some points to everybody who provides any useful information.

In this particular case, your help was very useful to me, the points go to you.

Many thanks, GD.
Avatar of goodday

ASKER

Shinez

Thanks for trying to help.

Please give some time to 13_th to understand how things work here .... :)

Best Regards, GD
thats kool :) we all here 2 help each other.
to goodday

not against use of my code basically. I think not correct use of my work in this case Shinez
Avatar of goodday

ASKER

Shinez

One more thing: I think it is fair and nice that  you try to help me to undestand 13_th's code better. Though the source he/she provided, was enough for me. It was a complete answer to my question, thats why I gave the points to him/her.

Good Luck, GD  
Avatar of goodday

ASKER

13_th

As I understand Shinez did not mean to provide your code as if it was his/her own. He/She must have taken a look at the source and copied to EE the part of it, which actually holds the answer. Just to highlight the important parts. It was no question, that the real work was done by you. Shinez only tried to save some time to me by doing this. Which is also very nice from him/her. :)

I think you both simply misunderstood each others point of view.

I appreciate both of you for being here on a Sunday afternoon.

Best Regards, GD.
*** off topic comment removed by Netminder, EE Admin ***
Avatar of goodday

ASKER

Shinez

" .. blue sky and everything.. " - :)