Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi Prozessinformationen, Thread-Anzahl und andere Problemchen (https://www.delphipraxis.net/70282-prozessinformationen-thread-anzahl-und-andere-problemchen.html)

hboy 28. Mai 2006 02:36


Prozessinformationen, Thread-Anzahl und andere Problemchen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Community,
es ist jetzt 03:20 Uhr und ich hab würfelige Augen, aber über den Tag hinweg etwas zusammengeschraubt, was der eine oder andere auf der Suche nach GetThreadCount oder GetProcessInformation oder ThreadCountOfProcess (zumindest hab ich da spaßeshalber danach gesucht, natürlich vergebens) ersehnt und nicht gefunden hat.
Dann natürlich die schmerzhafte Zeit, sich durch MSDN durchzuwühlen, auch vergebens. Dazu sind viele Funktionen nicht unter älteren Beriebssystemen verfügbar.
Mein Weg hat mich also in die tiefen der undokumentierten Native API geführt, zu NtQuerySystemInformation. Wenn ich mal wieder gut dabei bin, schreib ich die restlichen Funktionen noch um, so dass man sie auch auf NT4 und 2000 nutzen kann.

Übrigens: wer nur die Prozessorauslastung durch sein Programm haben will sollte es zuerst mit Windows.GetProcessTimes versuchen ;)

zur Verwendung:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  buf: Int64;
begin
  if GetProcessInfo(GetCurrentProcessID,PI_MEMORY_USAGE,buf) then
     Windows.MessageBox(0,PAnsiChar('Aktuelle Speichernutzung (kB) : ' + inttostr(buf div 1024),'Process Information',0);
end;

Referenzen:
http://www.awprofessional.com/articl...22442&seqNum=1
http://forum.assarbad.net/viewtopic.php?t=77
http://www.codeproject.com/system/ntenumthreads.asp
http://nienie.com/~masapico/api_NtQu...rmation_5.html

lasst mich wissen, obs euch gefällt *g*, immerhin wars Arbeit, das alles zu checken und zu übersetzen.

----------------------------------
peace to u all --- C is DEAD !!!

[edit=alcaeus]SID aus einem Link entfernt. Mfg, alcaeus[/edit]
[edit=Admin]Anhang auf Wunsch des Autors entfernt. Mfg, Daniel[/edit]
[edit=CalganX]Aktuelle Version wieder angehängt. Mfg, CalganX[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz